javascript - jQuery怎么实现鼠标移入第i个li则对应显示第i个div
黄舟
黄舟 2017-04-11 12:27:01
[JavaScript讨论组]

如题 想要鼠标移入第i个li的时候 对应的第几个p显示出来

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
大家讲道理
<p id="wrapper">
  <!-- 这里是li-->
   <ul id="nav-li">
      <li>1</li>
      <li>2</li>
      <li>3</li>
   </ul>
  <!-- 这里是对应的p-->
   <p id="content-wrpper">
      <p>1内容</p>
      <p>2内容</p>
      <p>3内容</p>
   </p>
</p>

js代码

window.onload = function(){
            var navLi = document.getElementById("nav-li");
            var navLiList = navLi.getElementsByTagName("li");
            var contentp = document.getElementById("content-wrpper");
            var contentpList = contentp.getElementsByTagName("p");
            var index;

            for(var i=0; i<navLiList.length; i++){
                 navLiList[i].index = i;
                }
        //采用事件代理
        navLi.addEventListener("mouseover",function(e){

           if(e.target.nodeName.toLowerCase() === "li"){
               //添加index索引
                  for(var j=0; j< contentpList.length; j++){
                          contentpList[j].style.display = "none";
                   }

              contentpList[e.target.index].style.display = "block";
            }
         
        },false);

    }

js写的不太好,还有其他可以优化的。今天就先到这里

PHPz

对li与p做一下对应,比如索引对应,第i个li对应第i个p。

var liIndex=$('li').index();
    $('p').eq(liIndex).show();

当然,也可以是属性上的对应。

PHP中文网

不太明白你的意思,或许是跟楼上一个道理 取到li的对应索引,然后用到p的对应索引里
或许你把p都写成li的子元素了 那么只要用jquery里面的hover就好了

巴扎黑
$("li").mouseover(function() {
    $("p").eq($(this).index()).show().siblings().hide();
});

思路:
1.获取当前mouseover的li的索引值
2.让索引值一样的p显示其他的(siblings)隐藏

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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