具有哈希永久链接的jQuery循环
我试图让jQuery循环使用每张幻灯片的唯一名称,以便能够直接链接到每张幻灯片。我在malsups网站上发现: 试图将其纳入我的演示中,但无效,不确定我做错了什么?具有哈希永久链接的jQuery循环,jquery,hash,cycle,jquery-cycle,Jquery,Hash,Cycle,Jquery Cycle,我试图让jQuery循环使用每张幻灯片的唯一名称,以便能够直接链接到每张幻灯片。我在malsups网站上发现: 试图将其纳入我的演示中,但无效,不确定我做错了什么? 演示: 即使我去了http://jsbin.com/uviram/1#slide2它仍然会让我想到http://jsbin.com/uviram/1#slide1 $(function() { var h, hash = window.location.hash, hashes = {}
演示: 即使我去了
http://jsbin.com/uviram/1#slide2
它仍然会让我想到http://jsbin.com/uviram/1#slide1
$(function() {
var h,
hash = window.location.hash,
hashes = {},
index = 0;
$('.slideshow slide').each(function(i) {
h = $(this).data('hash');
hashes[h] = i;
});
if (hash)
index = hashes[hash.substring(1)] || index;
$('.slideshow').cycle({
fx: 'scrollHorz',
timeout: 0,
prev: $('.prev'),
next: $('.next'),
after: function(curr,next,opts) {
h = $(this).data('hash');
window.location.hash = h;
}
});
});
您尚未包括
开始幻灯片
选项以将您的索引
传递给
$('.slideshow').cycle({
/* pass index to startingSlide*/
startingSlide:index,
fx: 'scrollHorz',
timeout: 0,
prev: $('.prev'),
next: $('.next'),
after: function(curr,next,opts) {
h = $(this).data('hash');
window.location.hash = h;
}
});
我已经更新了你的jsbin演示,现在就可以使用了。有三个问题:
- 首先,我将
更改为$('.slideshow slide')
以正确选择幻灯片$('.slideshow) .slide')
- 其次,我将startingSlide选项放入循环调用中
- 最后,我加入了一个hashchange监听器,以便在用户发生更改时 在不重新加载页面的情况下,哈希将循环到正确的 幻灯片
好的,那么您使用的是什么代码?@TomWalters现在更新了代码片段,我链接到的演示中提供了完整的代码!将
$(function(){
更改为$(document)。准备就绪(function(){
?@Mooseman)它们具有完全相同的效果可能需要查看循环2
。具有许多新功能,包括响应式布局和自动初始化