javascript - 一页jssor上有多个 slider

标签 javascript jquery html slider jssor

您好,我在一页中遇到多个 slider 的问题。 这是我的代码:

<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>

每个 slider 都有自己的 id 我创建这个 slider 的实例,如下所示:

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

我的问题是如何获取每个 slider 中事件幻灯片的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');

                });
            }

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

最佳答案

我猜问题可能出在线路上

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

您想要 slider 的单个实例的事件图像,对吧?但是 $('.slides2') 返回类 slides2 的所有元素(示例标记中有两个,每个 slider 实例一个)。对于当前 slider ,您只需要一个元素,因此首先获取它。

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

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

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

附注。

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

关于javascript - 一页jssor上有多个 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29591717/

相关文章:

javascript - 从变量设置 id

javascript - 如何重新创建 div

javascript - 将文件从目录获取到 HTML 元素中

html - 为什么在 HTML 中只能使用一次 ID(除了显而易见的问题)

javascript - 如何获取刚刚删除的行的文本值-Jquery/Js

javascript - 调试动态添加的javascript文件

javascript - 数组出了什么问题?

javascript - JSPDF - 如何将具有不同页面大小(高度和宽度)的多个图像导出到单个 pdf 文件

html - css:使内部容器高度为 100%,并带有顶部和底部边距

javascript - Ajax 响应整个页面代码