问题
setTimeout在某一次写一个倒计时功能时,当浏览器缩小或者离开当前页面,倒计时会不准确,进入休眠模式,执行间隔比预期要慢。
设定一个 150ms 后执行的定时器不代表到了 150ms 代码就立刻执行,它表示代码会在 150ms 后被加入到队列中。如果在这个时间点上,队列中没有其他东西,那么这段代码就会被执行。
也就是说定时器会在你任务队列中没用执行任务时才会将你的定时器添加到任务队列中。这样,他会带来一些问题:
无视代码错误
setInterval有个讨厌的习惯,即对自己调用的代码是否报错这件事漠不关心。换句话说,如果setInterval执行的代码由于某种原因出了错,它还会持续不断(不管不顾)地调用该代码。
无视网络延迟...
mouseout(fn) 返回值:jQuery概述在每一个匹配元素的mouseout事件中绑定一个处理函数。mouseout事件在鼠标从元素上离开后会触发参数fn Function在每一个匹配元素的mouseout事件中绑定的处理函数。
hover(over, out) 返回值:jQuery
概述
一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。
当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。而且,会伴随着对鼠标是否仍然处在特定元素中的检测(例如,处在div中的图像),如果是,则会继续保持“悬停”状态,而不触发移出事件(修正了使用mouseout事件的一个常见错误)。
参数
overFunction
鼠标移到元素上要触发的函数
outFunction
鼠标移出元素要触发的函数
...
outerWidth(options) 返回值:Integer
概述
获取第一个匹配元素外部宽度(默认包括补白和边框)。
此方法对可见和隐藏元素均有效。
参数
optionsBoolean默认值:'false'
设置为 true 时,计算边距在内。
示例
描述:
获取第一段落外部宽度。
HTML 代码:
<p>Hello</p><p>2nd Paragraph</p>
jQuery 代码:
var p = $("p:first");
$("p:last").text( "outerWidth:" + p.outerWidth() + " , outerWidth(true):" + p.outerWidth(true) );
结果:
<p>Hello</p><p>outerWidth: 65 , outer...
outerHeight(options) 返回值:Integer
概述
获取第一个匹配元素外部高度(默认包括补白和边框)。
此方法对可见和隐藏元素均有效。
参数
optionsBoolean默认值:'false'
设置为 true 时,计算边距在内。
示例
描述:
获取第一段落外部高度。
HTML 代码:
<p>Hello</p><p>2nd Paragraph</p>
jQuery 代码:
var p = $("p:first");
$("p:last").text( "outerHeight:" + p.outerHeight() + " , outerHeight(true):" + p.outerHeight(true) );
结果:
<p>Hello</p><p>outerHeight: 35 ,...
without(value...) -> newArray
返回不包括参数中任意一个指定值的数组版本。(即返回的数组中不包括任何一个参数中指定的值)
样例
[3, 5, 6, 1, 20].without(3)
// -> [5, 6, 1, 20]
[3, 5, 6, 1, 20].without(20, 6)
// -> [3, 5, 1]
window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别。 setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。 setInterval方法则是表示间隔一定时间反复执行某操作。 如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法: 例如:tttt=setTimeout('northsnow()',1000);clearTimeout(tttt); 或者:tttt=setInterval('northsnow()',1000);clearInteval(tttt); 举一个例子:<div id="liujincai"></div><input type="button" na...
c#学习体会:使用 ref 和 out 传递数组(downmoon),希望与大家分享1、与所有的 out 参数一样,在使用数组类型的 out 参数前必须先为其赋值,即必须由接受方为其赋值。例如:public static void MyMethod(out int[] arr){arr = new int[10]; // 数组arr的明确委派}2、与所有的 ref 参数一样,数组类型的 ref 参数必须由调用方明确赋值。因此不需要由接受方明确赋值。可以将数组类型的 ref 参数更改为调用的结果。例如,可以为数组赋以 null 值,或将其初始化为另一个数组。例如: public static void MyMethod(ref int[] arr){arr = new int[10]; // arr初始化为一个新的数组}下面的两个示例说明 out 和 ref 在将数组传递给方法上的用法差异。...
ref和out的区别在C# 中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员更改参数的值,并保持该更改。若要通过引用传递参数, 可使用ref或out关键字。ref和out这两个关键字都能够提供相似的功效,其作用也很像C中的指针变量。它们的区别是:1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。注:在C#中,方法的参数传递有四种类型:传值(by value),传址(by reference),输出参数(by outp...
学习java已经有一段时间了,这段时间里感觉到了java的博大精深,同时也是产生了不少的疑惑。 学习java的时候产生的第一个疑惑是关于System.out.println()的,自己不知道这个方法究竟可以输出什么类型的数据。我试过每一种基本数据类型,发现都可以输出。后来有一次在学习数组的时候老师介绍了一种逐个打印出数组元素的方法,是采用了循环的方法;当时心里就想:为什么不直接用System.out.println()打印出来呢?课后自己试了一下: int[] bb = {1,2,3,4,5}; System.out.println (bb); 在一个main方法中实现这两条语句后得到的结果是: [I@1fb8ee3 心里很不明白为什么是这个结果,当时也看不懂这个结果,以为这是个乱码。 后来我看了API...
OverlayLayout是用于排列重叠组件的布局管理器。它的用途是以一些对齐的点为基准将一些组件层叠的放置在布局容器中。 组件的横轴和纵轴的对齐点介于0.0和1.0之间。横轴(X轴)上0.0代表组件的左侧面,1.0代表组件的右侧面;纵轴(Y轴)上0.0和1.0分别代表组件的顶部和底部。 构造函数 public OverlayLayout(Container target) 因为构造函数不会为target对象安装结果布局管理器,所以我们还必须调用setLayout()来完成此功能。 JPanel p1 = new JPanel(); OverlayLayout overlay = new OverlayLayout(p1); p1.setLayout(overlay); 在OverlayLayout布局管理器中,每个组件都有一对横纵坐标值,每个组件的位置只和它本身的横纵坐标...