2013-08-23 15 views
0

我用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(); 
    }); 

//启用连接到精确选项卡

if(window.location.hash) { 

     var getHash = window.location.hash; 
     console.log(getHash) 
     $(getHash).show(); 
    } 
+0

请提供[jsfiddle](http://jsfiddle.net) – Dom

+0

我发现了类似的问题,但我不明白如何在我的情况下实现它...这里是[链接](http:// stackoverflow .com/questions/1489624/modify-document-location-hash-without-page-scrolling) – Alex

回答

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(); 
}); 
+0

如果我阻止默认,我怎么能 - getHash = window.location.hash ??? – Alex

+0

你根本不理解我的问题...... – Alex

相关问题