jQuery显示或隐藏点击滚动到页面顶部

时间:2013-02-25 15:53:30

标签: jquery

我有

<script>
$(document).ready(function() {
$("#closesrch").click( function (e) {
e.stopPropagation();
$(this).parent().parent().hide();
});

$("#basemaplink").click( function () {
$(".maplist").toggle('fast');
});
});
</script>

<div class="searches">
 <div class="advsearch">
      <a href="#" id="closesrch"><img src="images/icon_close.png" alt="close"></a>
      ADVANCED PROPERTY SEARCH
 </div>
 Contents here...
</div>


<div class="basemapdiv">
 <a href="#" id="basemaplink"><img src="images/btn_basemap.png" alt="basemap" class="basemapbtn"></a>
 <div class="maplist" style="display:none;">
 Contents here...
 </div>
</div>

单击链接时,它会执行显示/隐藏功能,但由于

而滚动到页面顶部
<a href="#"></a> 

应该修改什么来阻止页面滚动?

谢谢,

2 个答案:

答案 0 :(得分:4)

更改链接
<a href="#"></a>

<a href="javascript:void(0);"></a>

这有链接调用死端javascript函数,而不是导航到site.com/# url。


防止跳转到页面顶部的其他常用方法是:

在javascript处理程序上返回false。这可以防止链接的默认行为。     

$('#blahblah').on('click', function(){
    // your code
    return false; // prevents the page jump
});

或只是调用preventDefault()

<a href="#" id="blahblah"></a>

$('#blahblah').on('click', function(e){
    e.preventDefault();
    // your code
});

或者

<a href="javascript: false;"></a>

答案 1 :(得分:0)

而不是stopPropagation(),请使用preventDefault()