Javascript 同一页上的多个索引指示器
我在主页上有多个全屏幻灯片。我想得到每个滑块的幻灯片索引。 是否可以通过使用for循环或其他方法在一个代码中实现这一点? html是 变量rsi=$('#参考1.royalSlider,#参考2.royalSlider')。royalSlider({ 自动高度:false, 阿罗斯纳夫:是的, globalCaption:错误, arrowsNavAutoHide:错误, fadeinLoadedSlide:false, 控制导航间距:30, controlNavigation:'null', imageScaleMode:'填充', imageAlignCenter:false, addActiveClass:true, 循环:对, 循环倒带:对, numimagestopload:4, 键盘导航已启用:true, 自动缩放滑块:错误,Javascript 同一页上的多个索引指示器,javascript,jquery,Javascript,Jquery,我在主页上有多个全屏幻灯片。我想得到每个滑块的幻灯片索引。 是否可以通过使用for循环或其他方法在一个代码中实现这一点? html是 变量rsi=$('#参考1.royalSlider,#参考2.royalSlider')。royalSlider({ 自动高度:false, 阿罗斯纳夫:是的, globalCaption:错误, arrowsNavAutoHide:错误, fadeinLoadedSlide:false, 控制导航间距:30, controlNavigation:'null',
自动缩放滑块宽度:640,
自动缩放滑块高度:360, imgWidth:1920, 灯光:1080 }).数据('royalSlider')
$('.screen')。每个(函数(){
var slider=$(this.children();
对于(变量i=1;i<$(滑块)。长度;i++){
var ref='#ref'+i
var sliderInstance=$(ref)+''+slider.data('royalSlider');
}
如果(滑块状态){
var slideCounter=$('').appendTo($(ref+'+'.slider detail.box.detail right'))
var updCount=函数(){
html((sliderInstance.currSlideId+1)+'/'+sliderInstance.numSlides);
}
sliderInstance.ev.on('rsAfterSlideChange',updCount);
updCount();
}
});
}))
问题解决了!代码应该是这样的
$('.royalSlider').each(function() {
var slider = $(this);
var sliderInstance = slider.data('royalSlider');
if(sliderInstance) {
var slideCounter = $('<div class="rsSlideCount"></div>').appendTo( slider.next().find('.detail-right') );
var updCount = function () {
slideCounter.html( (sliderInstance.currSlideId+1) + ' of ' + sliderInstance.numSlides );
}
sliderInstance.ev.on('rsAfterSlideChange', updCount);
updCount();
}
});
$('.royalSlider')。每个(函数(){
变量滑块=$(此);
var sliderInstance=slider.data('royalSlider');
如果(滑块姿态){
var slideCounter=$('').appendTo(slider.next().find('.detail right');
var updCount=函数(){
html((sliderInstance.currSlideId+1)+of'+sliderInstance.numSlides);
}
sliderInstance.ev.on('rsAfterSlideChange',updCount);
updCount();
}
});
不是currSlideId
给了你索引吗?你的for
循环很奇怪,虽然所有的孩子都是滑块,但不是所有的孩子都是滑块。是的,我知道。因为项目细节是隐藏的。它们通过单击“详细信息”按钮打开。因此,我将slider detail div从滑块中移出。通过一个for循环的结尾,您正在尝试访问不存在的#ref3
。问题解决了!我会编辑这篇文章
jQuery(document).ready(function($) {
$('.screen').each(function() {
var slider = $(this).children();
for (var i = 1; i < $(slider).length; i++) {
var ref = '#ref'+i
var sliderInstance = $(ref) + ' ' + slider.data('royalSlider');
}
if (sliderInstance) {
var slideCounter = $('<div class="sliderCount"></div>').appendTo($(ref + ' ' + '.slider-detail .box .detail-right'))
var updCount = function() {
slideCounter.html( (sliderInstance.currSlideId+1) + ' / ' + sliderInstance.numSlides );
}
sliderInstance.ev.on('rsAfterSlideChange', updCount);
updCount();
}
});
$('.royalSlider').each(function() {
var slider = $(this);
var sliderInstance = slider.data('royalSlider');
if(sliderInstance) {
var slideCounter = $('<div class="rsSlideCount"></div>').appendTo( slider.next().find('.detail-right') );
var updCount = function () {
slideCounter.html( (sliderInstance.currSlideId+1) + ' of ' + sliderInstance.numSlides );
}
sliderInstance.ev.on('rsAfterSlideChange', updCount);
updCount();
}
});