今天模仿某网站的导航栏效果 最终结果
做这个效果遇到的点:
1.给每个a绑定事件太麻烦,用了事件委托,由于刚看jq所以查到了
$(‘.list‘).delegate(‘a‘,‘mouseover‘,function(event){}
方法
2.给这个小滑块设定抖动效果,更动感一些 用了两个animate算上最终定位用了三个animate
.animate({left:ao+diff+‘px‘},150).animate({left:ao-diff/2+‘px‘},150).animate({left:m+‘px‘},200);
恩 挖了个坑
3.就是解决这个坑,这个坑就是当我鼠标快速的经过这些a时,就算我鼠标停止了,滑块依然按着我鼠标经过的每个a在做一次mouseover事件干的事,抽风一样,怎么解决呢?
马上想到stop()方法停止动画,但是没用啊 还跟抽风一样,由于刚接触JQ所以对这些方法不熟悉,就想是不是stop()方法还能传参数?果然一查猜想正确
定义和用法
stop() 方法停止当前正在运行的动画。
语法
$(selector).stop(stopAll,goToEnd)
参数 | 描述 |
---|---|
stopAll | 可选。规定是否停止被选元素的所有加入队列的动画。 |
goToEnd |
可选。规定是否允许完成当前的动画。 该参数只能在设置了 stopAll 参数时使用。 |
stop()没有参数时:就是暂停上一个动画哦,比如有多个动画1 2 3
如果这时暂停那么如果这时动画运动到了2,这个暂停只是暂停了2,而3会继续运行完
stop(true)一个参数:也就是 上边说的这个stopAll是
如果这时暂停那么如果这时动画运动到了2,这个暂停暂停了2 和 3(全部暂停)
stop(true,true)两个参数 :
如果这时暂停那么如果这时动画运动到了1,这个暂停会马上让绑定动画的元素到达1动画设置的状态(动画1完成时的状态)并暂停,如果此时动画运动到了2,这个暂停会马上让绑定动画的元素到达2动画设置的状态(动画2完成时的状态)并暂停,同理 345 6
demo:http://www.w3school.com.cn/tiy/t.asp?f=jquery_effect_stop_queue_end
有错误的地方欢迎指出
时间: 2024-10-07 16:27:24