javascript - 如何使jss或幻灯片的出现成为可触发事件?

标签 javascript jquery animation jssor

使用基本的 JSSOR 幻灯片,带有 n 个 div 图像占位符,其中 div 以降序或自上而下的顺序读取,就像任何其他普通 HTML 页面一样,我可以将 javascript 添加到 div 中,或者在页面的其他位置添加 javascript,以使幻灯片 div 内发生某些事情(动画、淡入淡出等)。

问题是它只会触发一次,就像加载文档时一样。如何使 JavaScript 函数“可重新触发”,以便在显示循环中出现一张幻灯片(假设幻灯片 #2)时调用它?

如果还不够清楚,请随时提出更多问题。

这是一个示例:Slide Show在第一张幻灯片中,金牌使用 jQuery animate() 滚动到幻灯片的中间。它只会执行一次,而不是每次幻灯片出现时都会执行此操作。原因是金牌动画脚本仅在 html 页面加载时加载一次。我希望每次第 1 张幻灯片出现时,金牌动画脚本都会一次又一次地重新加载。

最佳答案

请在幻灯片 0 处播放幻灯片时执行此作业。

        var jssor_slider1 = new $JssorSlider$(...;

        function SlideshowEndEventHandler(slideIndex, progressBegin, slideshowBegin, slideshowEnd, progressEnd) {
            if (slideIndex == 0) {
                //runs the animation when slideshow plays over at slide 0

                $("#goldmedal").animate({
                    opacity: 0.99,
                    left: "+=490",
                    height: "toggle"
                }, 2500, function () {
                    // Animation complete.
                    $("#goldmedal").animate({ opacity: 0.0 }, 4000, function () {
                        $("#goldmedal").css("left", "0px");
                    });
                });
            }
        }

        jssor_slider1.$On($JssorSlider$.$EVT_SLIDESHOW_END, SlideshowEndEventHandler);


        //As it would not play slideshow at the beginning for slide 0, make a manual trigger at the beginning then.
        SlideshowEndEventHandler(0);

关于javascript - 如何使jss或幻灯片的出现成为可触发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25608434/

相关文章:

jquery - 下载 jQuery UI : Ok, 那么我应该将这困惑的部分复制到服务器吗?

Javascript 间歇性失败,但在刷新页面时可以工作

javascript - 保存或查看表单(使用 Django 模板系统)

javascript - 如果没有要导出的更新,则 Bitsrc 弹出组件

jquery - 使用 LESS 如何从子元素定位祖 parent ?

javascript - 向 URL 添加参数,将数组放入查询字符串

css - SVG 绘图不适用于 chrome

javascript - 从右到左增加或增加 div 标签的宽度

android - 有没有办法消除动画的插值?

javascript - 如何使用 webpack 在编译时替换文件?