javascript - 暂停和播放 javascript slider 事件 onclick

标签 javascript jquery html

我正在完成网站编码并向登陆页面添加图像 slider 。我对 javascript 很陌生,所以我复制并粘贴了一个图像 slider 演示,并根据我的需要对其进行了一些调整。我有 4 张图像,每隔一段时间就会淡入下一张图像。我现在想做的是拥有它,这样当您单击任何图像时,自动播放幻灯片就会暂停,然后您可以单击继续。我一整天都在浏览论坛和教程,但我很迷失。任何帮助将不胜感激。谢谢。

HTML

 <ul id="slider">
  <li><img src="images/img1.png"/></li>
  <li><img src="images/img2.png"/></li>
  <li><img src="images/img3.png"/></li>
  <li><img src="images/img4.png"/></li>
</ul>

JavaScript

<script>
$(function () {
    var change_img_time = 5000;
    var transition_speed = 100;
    var simple_slideshow = $("#slider"),
        listItems = simple_slideshow.children('li'),
        listLen = listItems.length,
        i = 0,
        changeList = function () {
            listItems.eq(i).fadeOut(transition_speed, function () {
                i += 1;
                if (i === listLen) {
                    i = 0;
                }
                listItems.eq(i).fadeIn(transition_speed);
            });
        };
    listItems.not(':first').hide();
    setInterval(changeList, change_img_time);
});
</script>

最佳答案

尝试

$(function () {


    var change_img_time = 5000;
    var transition_speed = 100;

    var simple_slideshow = $("#slider"),
        listItems = simple_slideshow.children('li'),
        listLen = listItems.length,
        i = 0,

        changeList = function () {

            listItems.eq(i).fadeOut(transition_speed, function () {
                i += 1;
                if (i === listLen) {
                    i = 0;
                }
                listItems.eq(i).fadeIn(transition_speed);
            });

        };

    listItems.not(':first').hide();
    var timer = setInterval(changeList, change_img_time);
    listItems.click(function () {
        if (timer) {
            clearTimeout(timer);
            timer = undefined;
        } else {
            timer = setInterval(changeList, change_img_time);
        }
    })
});

演示:Fiddle

关于javascript - 暂停和播放 javascript slider 事件 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19697964/

相关文章:

javascript - 谷歌地图仅在 "refresh"之后加载

jquery - 如何将对象添加到 jQuery 对象以便我稍后可以检索它?

C++ wininet,连接到weblogin,如何设置cookies?

php - 按 HTML 按钮截断 MySQL 表

javascript - Sails.js - 创建 View 来编辑模型

javascript - 如何从数组中获取匹配的元素?

javascript - 脚本内联工作但是当我移动到外部时不起作用?

javascript - 使用 Backbone JS 的 jQuery 自动完成插件

html - 之前的 CSS 放错了地方

javascript - Mongodb 长时间操作时间戳