0

我正在为 Wordpress 使用 Revolution Slider 插件。Rev Slider 提供了一个用于更改幻灯片或监听事件的 api。在滑块包装器下方,我使用<a id="<?php echo "rev-slide-".$vid_link ?>" href="#"><?php echo $link ?></a>其中 $vid_link 是递增整数和 $link 是输入到自定义字段中的一些文本来动态添加到每张幻灯片的链接。我想要在我的脚本文件中做的是为每个链接添加一个点击监听器,该链接将访问 rev slider api 来更改幻灯片。到目前为止,我已经尝试了以下方法:

jQuery(document).ready(function($) {

    //...

    if(typeof revapi1 === 'undefined') return;

    revapi1.bind('revolution.slide.onloaded', function() {
        var totalSlides = revapi1.revmaxslide();

        var changeSlide = function(x) {
            revapi1.revshowslide(x);
        }

        for (var i = 2; i <= totalSlides; i++) {
            jQuery("#rev-slide-" + i).click(function(e) {
                e.preventDefault();
                changeSlide(i);
            });
        }
    });
});

这里 revapi1 是赋予特定滑块的 var 名称。我在直接从循环本身内部使用 for 循环变量调用 revshowslide() 时遇到了范围问题。我尝试将 api 调用包装在一个单独的函数中,但它仍然只接收 i 的最终值。对此的任何帮助将不胜感激。

4

1 回答 1

0

“i”变量在您的点击功能中不可用,您可以像这样传递它:

jQuery("#rev-slide-" + i).click({myInt : i}function(e) {
        e.preventDefault();
        changeSlide(e.data.myInt);
 });
于 2014-12-11T23:00:51.897 回答