在链接中使用哈希时取消页面滚动
Cancel page scroll when using hash in links.
我用jQuery制作了选项卡。我需要能够链接到确切的选项卡。它已经完成了。(下面的代码)我面临的问题是,在切换选项卡后,我无法阻止页面滚动。如何禁用滚动但仍使用哈希?
<ul class="tabs group">
<li>
<a id="komp-link" class="switch" href="#komplekti">Komplekti</a>
</li>
<li>
<a id="intern-link" class="switch" href="#internets">Internets</a>
</li>
<li>
<a id="iptv-link" class="switch" href="#iptelevizija">IP Televizija</a>
</li>
</ul>
<div id="komplekti">content 1</div>
<div id="internets">content 2</div>
<div id="iptelevizija">content 3</div>
//选项卡切换
$('#komp-link').click(function(){
$('#komplekti').show();
$('#internets').hide();
$('#iptelevizija').hide();
});
$('#intern-link').click(function(){
$('#komplekti').hide();
$('#internets').show();
$('#iptelevizija').hide();
});
$('#iptv-link').click(function(){
$('#komplekti').hide();
$('#internets').hide();
$('#iptelevizija').show();
});
//启用链接到精确的Tab
if(window.location.hash) {
var getHash = window.location.hash;
console.log(getHash)
$(getHash).show();
}
使用event.preventDefault()
:
$('#komp-link').click(function(e){
e.preventDefault();
//...
});
不过,您应该能够简化代码。。
<ul class="tabs group">
<li>
<a id="komp-link" class="switch" href="#komplekti">Komplekti</a>
</li>
<li>
<a id="intern-link" class="switch" href="#internets">Internets</a>
</li>
<li>
<a id="iptv-link" class="switch" href="#iptelevizija">IP Televizija</a>
</li>
</ul>
<div id="komplekti" class="tab">content 1</div>
<div id="internets" class="tab">content 2</div>
<div id="iptelevizija" class="tab">content 3</div>
$('.switch').click(function(e) {
e.preventDefault();
$('.tab').hide();
$($(this).href()).show();
});
好的,所以我找到了决定。最佳&最简单的方法是使用Bens-AlmansjQ插件-hashchange事件。
相关文章:
- 滚动然后捕捉到顶部而不是取消捕捉
- 从父元素取消绑定滚动事件并绑定到子元素
- 取消选择滚动启动时的所有列表视图项目
- 取消弹出jquery滚动事件
- 如何防止在取消隐藏/隐藏文本后滚动到顶部
- 当我通过javascript添加警报并取消事件时,滚动条消失了
- 取消无限滚动提取
- 检测触摸开始/触摸结束是否取消了滚动(动量滚动)
- slimScroll销毁不't取消绑定滚动事件
- 在链接中使用哈希时取消页面滚动
- 取消IE9触摸滚动事件并调用鼠标移动(可能)
- 如果单击了滚动条,则取消mousedown事件
- 在剑道ui网格中上下滚动时取消复选框
- 延迟选择/取消选择滚动器中的图像
- 修复,滚动时取消固定元素
- GMaps v3:如何在鼠标滚动地图之前取消鼠标滚动事件
- 移动(不是滚动)锚点使用javascript,在函数中的元素被隐藏/取消隐藏
- 窗口上滚动事件的绑定和取消绑定
- 使颜色框在向下滚动时弹出(取消查看)
- 用户交互后取消滚动