我使用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>
// Tabs Switch
$('#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();
});
//启用链接到精确标签
if(window.location.hash) {
var getHash = window.location.hash;
console.log(getHash)
$(getHash).show();
}
答案 0 :(得分:1)
使用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();
});
答案 1 :(得分:0)
好的,我找到了决定。 最好的&amp;最简单的方法是使用Bens Almans jQ plugin - hashchange事件。