【发布时间】:2016-08-05 01:10:24
【问题描述】:
我希望我的bXslider 幻灯片根据加载时 url 中的哈希值进行更改。 如果我的网址是 www.website.com/#slide1 它应该显示第一张幻灯片,如果我的网址是 www.website.com/#slide2 它应该显示第二张幻灯片。
我能够通过使用这个 jQuery 代码使其工作:
if(typeof $.fn.bxSlider !== "undefined"){
var mainSlider = $('#homepage .bxslider').bxSlider({
mode:'fade',
pager: true,
});
if(location.hash === "#slide1") {
mainSlider.goToSlide(1);
} else if(location.hash === "#slide2"){
mainSlider.goToSlide(2);
} else if(location.hash === "#slide3"){
mainSlider.goToSlide(3);
} else if(location.hash === "#slide4"){
mainSlider.goToSlide(4);
} else if(location.hash === "#slide5"){
mainSlider.goToSlide(5);
} else if(location.hash === "#slide6"){
mainSlider.goToSlide(6);
} else if(location.hash === "#slide7"){
mainSlider.goToSlide(7);
} else if(location.hash === "#slide8"){
mainSlider.goToSlide(8);
} else if(location.hash === "#slide9"){
mainSlider.goToSlide(9);
} else if(location.hash === "#slide10"){
mainSlider.goToSlide(10);
} else if(location.hash === "#slide11"){
mainSlider.goToSlide(11);
} else if(location.hash === "#slide12"){
mainSlider.goToSlide(12);
} else if(location.hash === "#slide13"){
mainSlider.goToSlide(13);
} else if(location.hash === "#slide14"){
mainSlider.goToSlide(14);
}
}
问题是,它仅在哈希为#slide1 或#slide2 时有效。我的代码有问题吗?有更短的方法吗?
另外,我使用下面的代码为我的所有 .bx-pager-item 元素添加不同的 id:
$('#pagination .bx-pager-item').each(function(i) {
$(this).attr('id', 'slide'+(i+1));
});
如何将 id 作为哈希添加到 href 的末尾,这样当您单击第一个 .bx-pager-item 元素时,id 为 slide1 时,它会将您带到另一个带有 # 哈希的页面在 URL 末尾添加幻灯片 1?
【问题讨论】:
标签: javascript jquery html