一页jssor上有多个滑块

时间:2015-04-12 16:29:08

标签: javascript jquery html slider jssor

您好我在一个页面中有多个滑块的问题。 这是我的代码:

<div id="slider0" class="slider-left" style="width:700px;">
                <!-- Loading Screen -->
                 <div u="slides" class="slides2" style="width:700px;">
                    <div  data-id="0">
                        <img u="image"  src='<?php echo get_template_directory_uri(); ?>/images/pixel.gif' class="img-wrap" data-original="<?php echo get_template_directory_uri(); ?>/images/1.jpg" />
                    </div>
                    <div>
                        <article class="description">
                            <div class="row animate titles">
                                <div class="col-md-3 leftBar">
                                    <h3 class="title">Opis</h3>
                                    <p class="year">2014</p>


                                </div>

                            </div>
                            <div class="row animate">
                                <div class="col-md-9 leftBar">
                                    <div class="box">
                                        <h4>Lokalizacja: asda</h4>
                                    </div>
                                    <div class="box">
                                        <h4>Powieszchnia zabudowy: <span class="small">400 m2</span></h4>
                                    </div>
                                    <div class="box">
                                        <h4>Powieszchnia użytkowa: <span class="small">400 m2</span></h4>
                                    </div>
                                    <div class="box">
                                        <h4>Ilość kondygnacji: Podziemna: 0 // Nadziemna: 1</h4>
                                    </div>
                                    <div class="box">
                                        <h4>Wizualizacje: Nubo</h4>
                                    </div>
                                 </div>

                            </div>

                          </article>
                    </div>
                    <div  data-id="2">
                        <img  u="image"  src='<?php echo get_template_directory_uri(); ?>/images/pixel.gif' class="img-wrap" data-original="<?php echo get_template_directory_uri(); ?>/images/a2.jpg" />
                    </div>
                    <div  data-id="3">
                        <img  u="image" src='<?php echo get_template_directory_uri(); ?>/images/pixel.gif' class="img-wrap" data-original="<?php echo get_template_directory_uri(); ?>/images/a2.jpg" />
                    </div>
                </div>


                <span u="arrowleft" class="jssora13l" style="top: 123px; left: 0px;">
                </span>
                <!-- Arrow Right -->
                <span u="arrowright" class="jssora13r" style="top: 123px; right: 5px;">
                </span>
            </div>

            <div id="slider1" class="slider slider-left" style="width:700px;">
                <!-- Loading Screen -->
                 <div u="slides" class="slides2" style="width:700px;">
                    <div data-id="0">
                        <img u="image"   src='<?php echo get_template_directory_uri(); ?>/images/pixel.gif' class="img-wrap"data-original="<?php echo get_template_directory_uri(); ?>/images/a5.jpg" />
                    </div>
                    <div data-id="1">
                        <article class="description">
                            <div class="row animate titles">
                                <div class="col-md-3 leftBar">
                                    <h3 class="title">Opis</h3>
                                    <p class="year">2014</p>


                                </div>

                            </div>
                            <div class="row animate">
                                <div class="col-md-9 leftBar">
                                    <div class="box">
                                        <h4>Lokalizacja: asda</h4>
                                    </div>
                                    <div class="box">
                                        <h4>Powieszchnia zabudowy: <span class="small">400 m2</span></h4>
                                    </div>
                                    <div class="box">
                                        <h4>Powieszchnia użytkowa: <span class="small">400 m2</span></h4>
                                    </div>
                                    <div class="box">
                                        <h4>Ilość kondygnacji: Podziemna: 0 // Nadziemna: 1</h4>
                                    </div>
                                    <div class="box">
                                        <h4>Wizualizacje: Nubo</h4>
                                    </div>
                                 </div>

                            </div>

                          </article>
                    </div>
                    <div data-id="2">
                        <img  u="image" class="img-wrap"  src='<?php echo get_template_directory_uri(); ?>/images/pixel.gif' data-original="<?php echo get_template_directory_uri(); ?>/images/a2.jpg" />
                    </div>
                    <div data-id="3">
                        <img  u="image" class="img-wrap"  src='<?php echo get_template_directory_uri(); ?>/images/pixel.gif' data-original="<?php echo get_template_directory_uri(); ?>/images/a3.jpg" />
                    </div>
                </div>


                <span u="arrowleft" class="jssora13l" style="top: 123px; left: 0px;">
                </span>
                <!-- Arrow Right -->
                <span u="arrowright" class="jssora13r" style="top: 123px; right: 5px;">
                </span>
            </div>

每个滑块都有自己的ID我创建了这个滑块的实例:

$('.slider-left').each(function(i){
                jssor_slider_left[i] = new $JssorSlider$("slider"+i, options1);
            });

我的问题是如何在每个滑块中获得data-id活动幻灯片?我尝试过:

for(j = 0; j < jssor_slider_left.length; j++){
                jssor_slider_left[j].$On($JssorSlider$.$EVT_PARK, function SlideParkEventHandler(slideIndex, fromIndex){
                    var actual = $('.slides2').find("[data-id='"+slideIndex+"']").find('img');

                });
            }

但它不起作用。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我猜问题可能在于行

var actual = $('.slides2').find("[data-id='"+slideIndex+"']").find('img');

你想要滑块的单个实例的活动图像,对吗?但$('.slides2')返回类slides2的所有元素(示例标记中有两个,每个滑块实例一个)。对于当前滑块,您只需要一个元素,所以从获取它开始。

var actual = $('#slider' + j).find('.slides2').find('[data-id="' + slideIndex + '"]').find('img');

您甚至可以加入CSS选择器并使代码更短更有效

var actual = $('#slider' + j + ' .slides2 [data-id="' + slideIndex + '"] img');

PS。

据我所知,波兰语是“powierzchnia”,而非“powieszchnia”:D