我正在使用Word Slpress的Revolution Slider插件。 Rev Slider提供了用于更换幻灯片或收听活动的API。在滑块包装器下面,我使用<a id="<?php echo "rev-slide-".$vid_link ?>" href="#"><?php echo $link ?></a>
动态地为每张幻灯片添加一个链接,其中$ vid_link是一个递增的整数,$ link是一些输入自定义字段的文本。我想在我的脚本文件中做的是为每个链接添加一个点击监听器,该链接将访问rev滑块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名称。我在调用revshowslide()时遇到了范围问题,直接在循环内部使用for循环变量。我尝试在单独的函数中包装api调用,但它仍然只接收i的最终值。任何有关这方面的帮助将不胜感激。
答案 0 :(得分:0)
“i”变量在你的点击功能中不可用,你可以这样传递:
jQuery("#rev-slide-" + i).click({myInt : i}function(e) {
e.preventDefault();
changeSlide(e.data.myInt);
});