所以我担心这是另一个混乱Stack的幻灯片问题,但我对jQuery和javascript很新,想要自己写一些东西而不是使用插件等。我需要什么是非常直接的东西:
包含类名为.slideshow的图像的几个框,因此:
<div class="box b1">
<a href="#" title="Project Title" class="slideshow 2000">
<img src="img/portfolio/1.jpg" alt="Portfolio Item">
<img src="img/portfolio/2.jpg" alt="Portfolio Item">
</a>
</div>
<div class="box b2">
<a href="#" title="Project Title" class="slideshow 2000">
<img src="img/portfolio/1.jpg" alt="Portfolio Item">
<img src="img/portfolio/2.jpg" alt="Portfolio Item">
</a>
</div>
每个人都快乐地绕着图像循环然后我将它悬停在它上面它暂停,然后它继续鼠标移动......很简单,对吧? ......
我的jQuery目前看起来像这样(我处于无冲突模式......因此jQuery):
jQuery(".slideshow").each(function(){
var $this_s;
var $that = jQuery(this);
$that.find("img:gt(0)").hide(); //hide all images after first one
function slide($this_s){
$this_s.find(":first-child").hide().next('img').show()
.end().appendTo($that);
}
var int = $that.attr("class");
int = int.replace("slideshow ", "");
interval = setInterval(slide($that), int);
$that.hover(function(){
interval = clearInterval(interval);
},function(){
interval = setInterval(slide($that), int);
});
});
目前它正在做一件特殊的事情,在MouseEnter上什么都不做,然后MouseLeave它会改变到下一个图像。我觉得我差不多了,我无法理解为什么setInterval没有做到这一点!
我没有从classname那个有趣的小获取间隔尝试过它,而是在一个数字内部但是仍然没有快乐。
任何帮助(再次)将非常感谢!
谢谢!
答案 0 :(得分:0)
setInterval() 使用int值设置它的第二个参数(延迟),您可能需要在设置时考虑使用parseInt(int)
,如下所示:< / p>
int = int.replace("slideshow ","");
int = parseInt(int);
或
interval = setInterval(slide($that), parseInt(int));
希望这有帮助。