javascript - hover 和 click 问题?
ringa_lee
ringa_lee 2017-04-11 09:48:42
[JavaScript讨论组]
<li><span></span></li>
<li><span></span></li>
<li><span></span></li>
<li><span></span></li>

大概的意思就是: 刚开始所有的 span 都是隐藏的,用hover实现 鼠标停在哪个 li它下面的 span 显示。
然后在用 click 实现点击其中的li,它下面的 span 显示。、
问题就是现在 点击之后,在将鼠标悬停在 li 上,对应的span并不会显示。

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
巴扎黑

这个意思???

<!DOCTYPE html>
<html>

  <head>
    <meta charset="UTF-8">
    <title>test</title>
    <style>
      .hide {
        display: none;
      }
    </style>
  </head>

  <body>
    <ul>
      <li><span>1</span></li>
      <li><span>2</span></li>
      <li><span>3</span></li>
      <li><span>4</span></li>
    </ul>
    <script src="http://cdn.bootcss.com/jquery/3.1.1/jquery.js"></script>
    <script>
      $('li').on('click mouseover', function(ev) {
        $('li span').addClass('hide');
        $(this).find('span').removeClass('hide');
      });
    </script>
  </body>

</html>
阿神
li>span {
    opacity: 0;
}
li:hover>span {
    opacity: 1;
}

大概就是这样吧。剩下的用js绑个click就好~

怪我咯
li>span{
display:none;
}
li:hover>span{
display:block;
}

在js中在click事件里修改属性,将display改为block就行,但想实现点击一个,另一个隐藏,可以这样写

    var lis = document.querySelectorAll('li');
    spans = document.querySelectorAll('span'),
        len1 = lis.length,
        i;
    for (var i = 0; i < lis.length; i++) {
        spans[i].style.display = "";
        lis[i].onclick = function(num) {
            var temp = num,
                len2 = spans.length,
                j;
            return function() {
                for (j = 0; j < len2; j++) {
                    spans[j].style.display = "";
                }
                spans[temp].style.display = 'block';
            };
        }(i);
    };
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号