js 鼠标事件 不知道哪里错

小栗子hl 发布于 2014/12/15 19:31
阅读 184
收藏 0

我想实现一个功能鼠标单击一次,下拉列表显示,再单击一次该列表隐藏。写了如下代码,列表可以显示,但无法隐藏,求教

function mClick(){



if(document.getElementById("sidebar-dock").style.display=="none")
    document.getElementById("sidebar-dock").style.display="block";
else document.getElementById("sidebar-dock").style.display="none";




}
加载中
0
雨翔河
雨翔河

toggle方法可以满足你。

http://www.w3school.com.cn/jquery/effect_toggle.asp

Exterme
Exterme
这是用 jquery 写的 他那个明显是原 js好吧...
0
hexintosh
hexintosh
<div id="sidebar-dock">你看见我了</div>
<script type="text/javascript">
setInterval(mClick,300);
function mClick(){
    if(document.getElementById("sidebar-dock").style.display=="none") 
        document.getElementById("sidebar-dock").style.display="block"; 
    else document.getElementById("sidebar-dock").style.display="none"; 
}
</script>

测试可以啊。









开源中国首席老王
开源中国首席老王
他说的是鼠标点击事件,你这是定时。 这说明应该是鼠标点击的问题了。 应该往事件冒泡那个方向考虑了。 ——还有看下是不是js文件引用了两次
0
小栗子hl
小栗子hl
那我再瞅瞅,谢谢
Exterme
Exterme
建议 if else 不要去掉 {} 如果觉得{} 不好看的话 可以这样写 var csListE = document.getElementById('csList'); csListE.style.display = 'none' === csListE.style.display ? 'block' : 'none';
0
Exterme
Exterme

    var disAppMenu = function () {
        var csListE = document.getElementById('csList');
        if ( 'none' === csListE.style.display ) {
            csListE.style.display = 'block';
        } else {
            csListE.style.display = 'none';
        }
    };

为DOM加上 onclick="disAppMenu();return false;"事件,就可以了 如果还是不行的话,那就要看你的整体代码是怎么写的了 或者你 一步一步的去调试去了 

小栗子hl
小栗子hl
ok,谢谢
0
sxgkwei
sxgkwei
目测此JS代码正确,不会出现你说的问题。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部