我有几个jQuery slideDown
函数,用户在点击Divs
后会显示button
。
问题是,点击按钮后,页面scroll up
会显示在顶部,而Divs
将不再可见。我想做的是阻止页面滚动。我该如何解决这个问题?
的jQuery
<script>
$(document).ready(function(){
$("#banner_step_3").hide();
$("#next_btn_show_step_3").click(function(){
$("#banner_step_3").slideDown(500);
});
});
</script>
HTML
<div class="next_btn" id="next_btn_show_step_3">
<a href="#"><?php echo $lang ['next']; ?></a>
</div>
<article class="order_form_step_3" id="banner_step_3">
</article>
答案 0 :(得分:3)
浏览器只是关注链接。
使用preventDefault()
或return false
停止继续使用默认行为。
<script>
$(document).ready(function(){
$("#banner_step_3").hide();
$("#next_btn_show_step_3").click(function(e){
$("#banner_step_3").slideDown(500);
e.preventDefault();
});
});
</script>
答案 1 :(得分:2)
取代:
<a href="#"><?php echo $lang ['next']; ?></a>
使用:
<a href="javascript:void(0)"><?php echo $lang ['next']; ?></a>
当您使用<a>
创建href="#"
标记时,它将始终重定向到页面顶部,因为浏览器实际上正在浏览您提供的href。
或者,您可以在 javascript函数中阻止此操作(跳转到顶部)。进行以下更改:
$("#next_btn_show_step_3").click(function(e){
e.preventDefault();
$("#banner_step_3").slideDown(500);
});
希望有所帮助。