首先我想说,我真的红了一大堆类似的教程/指南和其他东西,但没有一个是有帮助的。我想尽可能简化滑块,我认为我正在一个很好的方式来做到这一点。在制作滑块时,我遇到了两个问题,我不知道是否需要修复。 我做了我在这里的问题的演示http://jsfiddle.net/FJrqS/1/jquery滑块暂停悬停
第一个问题是在页面加载,滑块具有某种滞后,而滑动到右,后几秒钟都背上正常。我真的不知道什么是问题。
第二个问题是,我不知道如何让这个滑块停止悬停,并在一个鼠标上继续停止。
感谢很多提前
首先我想说,我真的红了一大堆类似的教程/指南和其他东西,但没有一个是有帮助的。我想尽可能简化滑块,我认为我正在一个很好的方式来做到这一点。在制作滑块时,我遇到了两个问题,我不知道是否需要修复。 我做了我在这里的问题的演示http://jsfiddle.net/FJrqS/1/jquery滑块暂停悬停
第一个问题是在页面加载,滑块具有某种滞后,而滑动到右,后几秒钟都背上正常。我真的不知道什么是问题。
第二个问题是,我不知道如何让这个滑块停止悬停,并在一个鼠标上继续停止。
感谢很多提前
你好希望这是有益演示:http://jsfiddle.net/FJrqS/38/
请让我知道如果这有助于与否;否则我会删除我的帖子。 (戴的帽子给你,如果你正在写全养眼的风格插件:))
1)滑动,因为你正在使用的像素位置滑动leftpos
是一个引起轻微缓慢我已经做了一个小改变它,似乎有点更好的行为,然后再玩,你可以玩。
2)您可以使用鼠标悬停和鼠标悬停来启动和停止循环。 (但是如果你编写插件,你可能想绑定很多其他的事件)
悬停你可以改变.mouseover
到.hover
但是.mouseover应该做的。
jQuery代码下面
$(document).ready(function(){
loop();
function loop(){
var sliderRwidth = ($('#sliderR li').length)*200;
var leftpos =(($('#sliderR li').length))-70;
var rightpos = (($('#sliderR li').length)*200)-1000;
var speed = 5000;
$("#sliderR").css('width',sliderRwidth+'px');
$("#sliderR").animate({'left':leftpos+'px'},speed
,function() {
$("#sliderR").animate({'left':-rightpos+'px'},speed
,function(){loop();
})
});
}
//On mouseover stop the slider
$("#sliderR").mouseover(function() {
$(this).stop();
return false;
});
//On mouseout start the slider
$("#sliderR").mouseout(function() {
loop();
});
});
希望这有助于,干杯!
你知道在'$(this).length'中,'this'是指DOM窗口的权利? – mowwwalker 2012-03-27 23:01:00
是的,我在复制代码时犯了一个错误,我忘了撤销以前的更改。 – misticx 2012-03-27 23:05:47