2014-09-21 56 views
0

我有一个图像按钮,我正在使用JavaScript扩展和折叠菜单(通过在具有display: none的类之间切换)。切换工作正常(请参阅下面的代码)。但是,无论何时点击该按钮,都会将用户带回页面的顶部。我只想“点击”展开并折叠菜单,并将用户保留在他们当前所在的位置。我怎样才能做到这一点?展开和折叠菜单,无需将用户移动到页面顶部

<script type="text/javascript"> 
    function changeClass() 
    { 
     $('div#mainmenu_wrap').toggleClass('hidemenu'); 
    } 
</script> 

<a href="#" onclick="changeClass()"> 
<img src="images/menu_icon2.png" width="33" height="33" /> 
</a> 
+1

这是因为您的空锚定标记(#)。任何理由你必须保持你的href?一个简单的解决方案是使你的JS触发器看起来像一个链接,使用纯CSS。 – 2014-09-21 18:01:12

+0

摆脱了href,而是使用了一个按钮标签。这工作。

回答

0

得到它的工作。 ..

摆脱href,并使用了一个按钮标签。这工作。

<button onclick="changeClass()" class="menuIco"> 
<img src="<?php bloginfo('stylesheet_directory'); ?>/images/menu_icon2.png" width="33" height="33" /> 
</button> 
1

改变这一行<a href="#" onclick="changeClass()">

这样:<a href="#" onclick="changeClass(e)">

,改变你changeClass()函数的结构下面,并添加指定的行:

function changeClass(event){ 
    event.preventDefault(); 
    . 
    . 
    . 
} 
+0

现在菜单没有展开/ collapse all .. – Jabbamonkey 2014-09-21 18:27:22

+0

你可以发布'changeClass()'函数吗?它会帮你解决很多问题! – 2014-09-21 18:28:45

+1

看看这个例子我做了:http://jsfiddle.net/Amin52J/qhh68a5r/ – 2014-09-21 18:40:45