作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我基本上使用一些基本的交叉淡入淡出创建幻灯片,下面是我当前使用的脚本
脚本:
$(document).ready(function(){
var slide = function(){
var active = $('.active');
var next = (active.next().length > 0) ? active.next() : $('#slide:first');
next.css('z-index',2);
active.fadeOut(1000,function(){// fade out the active image
active.css('z-index',1).show().removeClass('active');
next.css('z-index',3).addClass('active');
});
}
setInterval(slide,2000)
});
正如您所看到的,上面的脚本每 2 秒就会交叉淡入淡出一个图像列表。现在我想做的是当用户单击 previous image
按钮或 时停止幻灯片放映(即使用
按钮,但它似乎不起作用。我尝试过 w3schools.com 等的示例,但无济于事clearInterval(Interval id)
) >下一张图片
更新
完整脚本以防有任何疑问
$(document).ready(function(){
var slide = function(){
var active = $('.active');
var next = (active.next().length > 0) ? active.next() : $('#slide:first');
next.css('z-index',2);
active.fadeOut(1000,function(){// fade out the active image
active.css('z-index',1).show().removeClass('active');
next.css('z-index',3).addClass('active');
});
}
setInterval(slide,2000)
});
//------------on click of next or prev-------
//next
$(".next").click(function(){
window.clearInterval(slide_timer);//stop the auto slide
var active = $('.active');
var next = (active.next().length > 0) ? active.next() : $('#slide:first');
next.css('z-index',2);
active.fadeOut(1000,function(){// fade out the active image
active.css('z-index',1).show().removeClass('active');
next.css('z-index',3).addClass('active');
});
});
//prev will be the same as next as soon as the stopping slide show problem is solved
最佳答案
将间隔引用拉至更高级别的范围。
var slideInterval;
function triggerTimer(){
slideInterval= setInterval(slide,2000);
}
function cancelTimer(){
clearInterval(slideInterval);
}
关于javascript - 如何从一个函数调用clearInterval()方法来停止另一个函数中的setInterval()方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27609908/
我是一名优秀的程序员,十分优秀!