可浏览多个页面的属性的自定义属性(JQuery&;HTML)
我创建了一个菜单,可以浏览特定页面上的幻灯片列表 它的HTML代码如下所示:-可浏览多个页面的属性的自定义属性(JQuery&;HTML),jquery,slider,Jquery,Slider,我创建了一个菜单,可以浏览特定页面上的幻灯片列表 它的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>&
<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>
正如您所看到的,它获取页面上幻灯片的编号,然后直接跳到上面
幻灯片都在同一页上,所以基本上这段代码将幻灯片移动到同一页上,并带我去看我想看的幻灯片。我的问题是现在我一直在尝试将幻灯片移动到另一页上
所以,如果我点击一个链接,移动到另一个具有特定幻灯片编号的页面,我将如何做到这一点
谢谢。您需要将该幻灯片值作为哈希标记传递到下一页 页面应包含一个脚本,用于检查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>
$(文档).ready(函数(){
var hash=window.location.hash;
window.slider.go(false,散列);
});
作为旁注,在将同一个元素绑定到大型集合时使用委托事件,而不是将事件绑定到每个元素,这被认为是一种良好的做法。类似于下面的$('.dropdown')。在('click','a[data jumpslide]'上,函数(){var slideToJump=$(this).data('jumpslide');window.slider.go(false,slideToJump+1);})代码>非常感谢您的评论。我一定会改变的。谢谢。。。也许我可以通过添加另一个带有标记的属性来实现。比如:-。。。此属性将具有我们要转到的页面的名称。我可以用名称添加幻灯片编号(就像我将2添加为幻灯片编号一样)。这就是你的意思吗?没错,我会使用href属性并通过执行e.preventDefault
来防止默认事件。捕获href,如果它存在,则触发窗口位置(href+标签)代码>感谢您对4m1r的出色帮助!但在实现它的过程中,我得到了一个错误“UncaughtTypeError:object[object global]的属性'location'不是函数”。。。正好在window.location上,它应该重定向的位置。你知道吗?谢谢。好的,为了让它正常工作,我将window.location(href+…)行更改为var url=href+'#'+slideToJump;window.location=url;
<script>
$(document).ready(function(){
var hash = window.location.hash;
window.slider.go(false, hash);
});
</script>