Jquery JS显示/隐藏DIV切换程序捕捉到页面顶部
我正在使用我找到的Java脚本Show/Hide DIV切换程序。它是有效的,但它的副作用是每次点击切换按钮都会将我带到页面顶部。签入FF和Chrome,在两种浏览器中处理相同的事务。我不能确定它是否正在重新启动页面,但我知道它没有重新加载页面 以下是脚本:Jquery JS显示/隐藏DIV切换程序捕捉到页面顶部,jquery,toggle,href,show-hide,Jquery,Toggle,Href,Show Hide,我正在使用我找到的Java脚本Show/Hide DIV切换程序。它是有效的,但它的副作用是每次点击切换按钮都会将我带到页面顶部。签入FF和Chrome,在两种浏览器中处理相同的事务。我不能确定它是否正在重新启动页面,但我知道它没有重新加载页面 以下是脚本: <script type="text/javascript"> <!-- function toggle_visibility(id) { var e = document.getElementByI
<script type="text/javascript">
<!--
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
//-->
</script>
这是切换(注意href=“#”-这就是问题所在吗?:
这是显示/隐藏的div(如您所见,它开始隐藏):
有什么想法吗
非常感谢!
Alex与函数无关,它是跳到页面顶部的
a
标记,您可以在函数中使用event.preventDefault()
或return false
来防止a
标记的默认操作 向函数添加e.preventDefault()
,以停止单击链接的默认行为。指定href='#'
表示指向当前页面顶部的链接,这就是您当前看到该行为的原因。如果您使用的是jquery,那么也可以从函数中返回false
请注意,上面的变量
e
是作为第一个参数传递给onclick函数的事件对象
或javascript:void(0)
:操作符void
将返回一个空值,这样浏览器就不会加载新页面。嘿,伙计们,谢谢你们,我已经使用了javascript:void(0)了,它非常有效!谢谢你!对不起,也许我不清楚,我指的是我的回答中提到的e
,而不是他在其功能中的那一个。我担心他会感到困惑,因为他已经定义了一个名为e
的变量。我很高兴看到您将如何实现e.preventDefault()
谢谢,由于某种原因,我无法让它工作(我认为我缺乏技能和理解是罪魁祸首:d),但我发现上面的方法对我很有效。谢谢你!
<a href="#" onclick="toggle_visibility('gallery_info');">[Click to see more details]</a>
<div id="gallery_info" style="display: none;">
<a href="javascript:" onclick="toggle_visibility('gallery_info');">[Click to see more details]</a>