JSDoc描述

@param @argument 指定参数名和说明来描述一个函数参数

@returns 描述函数的返回值

@author 指示代码的作者

@deprecated 指示一个函数已经废弃,而且在将来的代码版本中将彻底删除。要避免使用这段代码

@see 创建一个HTML链接,指向指定类的描述

@version 指定发布版本

@requires 创建一个HTML链接,指向这个类所需的指定类

@throws @exception 描述函数可能抛出的异常的类型

{@link} 创建一个HTML链接,指向指定的类。这与@see很类似,但{@link}能嵌在注释文本中

@fileoverview 这是一个特殊的标记。如果在文件的第一个文档块中使用这个标记,则指定该文档块的余下部分将用来提供这个文件的概述

@class 提供类的有关信息,用在构造函数的文档中

@constructor 明确一个函数是某个类的构造函数

@type 指定函数的返回类型

@extends 指示一个类派生了另一个类。JSDoc通常自己就可以检测出这种信息,不过,在某些情况下则必须使用这个标记

@private 指示一个类或函数是私有的。私有类和函数不会出现在HTML文档中,除非运行JSDoc时提供了—private命令行选项

@final 指示一个值是常量值。要记住JavaScript无法真正保证一个值是常量

@ignore JSDoc忽略有这个标记的函数

JS实现倒计时的一种方法

最近因为需要试着用Javascript写了一个带毫秒倒计时的小程序,代码如下:

1
<span class="min"></span>:<span class="sec"></span>.<span class="millisec"></span>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var inter;
var countdown = function(min) {
var date = new Date();
var endTime = date.getTime() + parseInt(min) * 60 * 1000;
var $min = $('.min');
clearInterval(inter);
inter = setInterval(function() {
var st = new Date();
var startTime = st.getTime();
var leftTime = Math.floor((endTime - startTime) / 100);
if (leftTime <= 0) {
clearInterval(inter);
inter = null;
$.each($min, function(i, t) {
$(t).text('0').next().text('0').next().text('0');
});
return;
}
$.each($min, function(i, t) {
$(t).text(Math.floor(leftTime / 600)).next().text(Math.floor(leftTime / 10) % 60).next().text(leftTime % 10);
});
}, 100);
};

使用countdown(1)可实现一分钟的倒计时.

Apache开启mod_rewrite

连接SSH或打开终端

1
2
3
sudo a2enmod rewrite
sudo vim /etc/apache2/sites-available/default # 按需求把AllowOverride None 改成 AllowOverride All
sudo service apache2 restart # 或者 sudo /etc/init.d/apache2 restart

此时网页目录中的.htaccess文件即可生效。

完美解决IE6不支持position:fixed的bug

最近在写前端的时候发现IE6下存在不支持position:fixed的bug。通过查找资料找到了较完美的的解决方法。代码如下:

1
2
3
4
5
6
7
8
/* 除IE6浏览器的通用方法 */
.ie6fixedTL{position:fixed;left:0;top:0}
.ie6fixedBR{position:fixed;right:0;bottom:0}
/* IE6浏览器的特有方法 */
/* 修正IE6振动bug */
* html,* html body{background-image:url(about:blank);background-attachment:fixed}
* html .ie6fixedTL{position:absolute;left:expression(eval(document.documentElement.scrollLeft));top:expression(eval(document.documentElement.scrollTop))}
* html .ie6fixedBR{position:absolute;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)))}

Read More

关于ie6、ie7折行问题

HTML结构及CSS样式如下:

1
li {float:left; margin-right:10px; }
1
2
3
4
5
<ul>
<li><a href=”#">文本1</a></li>
<li><a href=”#">文本2</a></li>
<li><a href=”#">文本3</a></li>
</ul>

这个时候,在ie6、ie7中文字很可能出现断行(暂没发现其他浏览器出现这个问题)

解决问题方法:

  1. 如果文本中没有空格,用word-break属性的keep-all参数可解决这个问题。
  2. 如果文本中有空格,用white-space属性的nowrap参数可解决问题。

    Read More