【发布时间】:2016-11-24 05:06:29
【问题描述】:
我使用的滑块是光滑的滑块。 http://kenwheeler.github.io/slick/
我在页面上有一个滑块,当单击图像时,会打开一个灯箱(通过 ajax 加载方法),其中包含另一个滑块,该滑块具有相同的图像,顺序相同,但更大且未裁剪,因此观众可以查看完整尺寸的图像。
我希望用户能够通过选择导航点来导航主页上的滑块,单击图像,并在加载后将同一图像作为灯箱滑块内的活动图像.
问题
我遇到的问题是因为“.lightbox-slider”尚未加载,“.home-slider”无法告诉它要转到哪张幻灯片。
主页滑块的 HTML
<div class="media-slider slider single-item-rtl tall-slider" dir="rtl">
<div class="article-media select-media slick-active">
<img src="/images/test/16-example.jpg" />
</div>
<div class="article-media select-media">
<img class="slider-img" src="/images/test/17-example.jpg" />
</div>
<div class="article-media select-media">
<img class="slider-img" src="/images/test/18-example.jpg" />
</div>
<div class="article-media select-media">
<img class="slider-img" src="/images/test/19-example.jpg" />
</div>
</div>
在灯箱内显示的滑块的 HTML
<div class="lighbox-slider">
<div class="article-media select-media slick-active">
<img src="/images/test/16-example.jpg" />
</div>
<div class="article-media select-media">
<img class="slider-img" src="/images/test/17-example.jpg" />
</div>
<div class="article-media select-media">
<img class="slider-img" src="/images/test/18-example.jpg" />
</div>
<div class="article-media select-media">
<img class="slider-img" src="/images/test/19-example.jpg" />
</div>
</div>
两个灯箱的 JS
var load_slider = function() {
$('.home-slider').slick({
rtl: true,
dots: true,
arrows: false,
focusOnSelect: true,
asNavFor: '.lightbox-slider'
});
};
var load_lightbox_slider = function() {
$('.lightbox-slider').slick({
dots: false,
speed: 300,
fade: false,
arrows: true,
cssEase: 'linear',
asNavFor: '.home-slider'
});
};
用于打开灯箱和加载灯箱滑块的JS
$(".select-media").click(function() {
if ($(this).hasClass("article-media")) {
$(".display_media").load("/images/toggle-media/" + $(this).attr("data-example"));
$(document).ajaxComplete(function(event, xhr, settings) {
load_lightbox_slider();
});
}
});
【问题讨论】:
标签: javascript jquery ajax dynamic slick.js