2013-04-25 36 views
0

我创建了一个浏览特定页面上幻灯片列表的菜单。可以浏览多个页面的属性的自定义属性(JQuery&HTML)

的HTML代码是如下: -

<ul class="dropdown"> 
     <li class="orange"><a href="#" data-jumpslide="2"><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">When to do it</div><div class="clear"></div></div></a></li> 
     <li class="orange"><a href="#" data-jumpslide="3" ><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">Key faces</div><div class="clear"></div></div></a></li> 
     <li class="orange"><a href="#" data-jumpslide="5" ><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">Functionalities</div><div class="clear"></div></div></a></li> 
</ul> 

通知“自定义属性”的标签,它告诉我哪滑动来浏览。

这个js代码允许我这样做: -

$('a[data-jumpslide]').each(function(idx, ele){ 
    $(ele).on('click', function(){ 
     var slideToJump = $(this).data('jumpslide'); 
     window.slider.go(false, slideToJump+1); 
    }); 
}); 

正如你可以看到,它会在页面上滑动的数量,只是跳就可以了。

幻灯片全都在同一页面上,所以基本上这段代码在同一页面上移动,并带着我想要去的任何一张幻灯片。我的问题是现在我一直在尝试在另一个页面上移动幻灯片。

所以,如果我点击一个链接移动到具有特定幻灯片编号的不同页面,我该如何能够做到这一点?

谢谢。

+0

作为一个旁注,将相同元素绑定到大集合时使用委托事件被认为是一种好的做法,而不是将事件绑定到每个元素。 ('click','a [data-jumpslide]',function(){slideToJump = $(this).data('jumpslide'); 窗口。 slider.go(false,slideToJump + 1); });' – ceaggregation 2013-04-25 20:54:10

+0

非常感谢您的评论。我一定会改变这一点。 – Steve 2013-04-25 20:59:59

回答

1

您需要将该幻灯片值作为哈希标记传递到下一页。

的页面应该包括一个脚本来检查该hastag值:

window.location.hash; 

然后简单地传递该散列值在滑动选择器功能。

要获得href和包括hashtag,你只需要修改你有什么目前:

$('a[data-jumpslide]').each(function(idx, ele){ 
    $(ele).on('click', function(e){ 
     e.preventDefault(); 
     var href = $(this).attr('href'); 
     var slideToJump = $(this).data('jumpslide'); 
     slideToJump++; 
     window.location(href+'#'+slideToJump); 
    }); 
}); 

然后你的目标HREF应该有这样的事情来捕捉主题标签:

<script> 
$(document).ready(function(){ 
    var hash = window.location.hash; 
    window.slider.go(false, hash); 
}); 
</script> 
+0

准确地说,我会使用href属性并通过执行'e.preventDefault'来防止默认事件。捕获href,如果它存在,则触发一个'window.location(href + hashtag);' – 4m1r 2013-04-25 21:03:54

+0

感谢您对4m1r的精彩帮助!但是在实现它的时候,我得到这个错误:“object [object global]的Uncaught TypeError:Property'location'不是一个函数”...正好在window.location中它应该重定向的地方。任何想法呢?谢谢。 – Steve 2013-04-26 14:49:41