我在主页面上使用bxSlider作为主要内容。每张幻灯片我都有bxSlider
个12 img。然后我为每张幻灯片提供了12块html代码。使用jQuery我正在使用bxSlider
和onSlidePrev
回调将内容与onSlideNext
一起更改。一切都运行正常,但问题是当我点击幻灯片的链接。我有一个主菜单,转到选定的幻灯片,也有“寻呼机”,当我点击这些东西时,内容不会根据回调而改变。
我正在调用bxSlider:
var slider = $('.bxslider').bxSlider({
adaptiveHeight:false,
infiniteLoop: false,
onSlideNext: function ($slideElement, oldIndex, newIndex) {
switch(newIndex){
case 0:
$(".pag2, .pag3, .pag4, .pag5, .pag6, .pag7, .pag8, .pag9, .pag10, .pag11, .pag12").hide();
$(".pag1").show();
break;
case 1:
$(".pag1, .pag3, .pag4, .pag5, .pag6, .pag7, .pag8, .pag9, .pag10, .pag11, .pag12").hide();
$(".pag2").show();
break;
}
},
onSlidePrev: function ($slideElement, oldIndex, newIndex) {
switch(newIndex){
case 0:
$(".pag2, .pag3, .pag4, .pag5, .pag6, .pag7, .pag8, .pag9, .pag10, .pag11, .pag12").hide();
$(".pag1").show();
break;
case 1:
$(".pag1, .pag3, .pag4, .pag5, .pag6, .pag7, .pag8, .pag9, .pag10, .pag11, .pag12").hide();
$(".pag2").show();
break;
}
}
});
HTML代码是这样的:
<section class="pag1 section-height">
<h2 class="slideTitle">Title</h2>
<h3 class="slideText">"Text</h3>
</section>
<section class="pag2 section-height">
<h2 class="slideTitle">Title</h2>
<h3 class="slideText">"Text</h3>
</section>
我怎样才能让它发挥作用?我需要在另一页中链接这些幻灯片。
答案 0 :(得分:3)
我用这个解决了我的问题:
if(window.location == 'mysite.com/#about') {
slider.goToSlide(8); // Go to slide number 8 that is "About" slide.
}
所以...在我的page.html上,当页面加载bxSlider转到幻灯片8时,我有href="mysite.com/#about"
的链接。
答案 1 :(得分:0)
您可以使用data
属性。
福克斯的例子:
<ul class="bxslider">
<li data-id="welcome">some content</li>
<li data-id="about">some content</li>
<li data-id="contact">some content</li>
</ul>
的jQuery
hash = window.location.hash;
if(hash) {
startAt = $('.bxslider li[data-id="' + hash.replace('#', '') + '"]').index();
}
$('.bxslider').bxSlider({
adaptiveHeight:false,
infiniteLoop: false,
startSlide: startAt?startAt:0
});
那一切。
希望这个帮助