zoukankan      html  css  js  c++  java
  • 鼠标移动到不同元素进行切换

    先期步骤,先用css实现布局,效果如下所示:

    body{
        font-size:12px;
    }
    
    .div1{
        width:126px;
        height:156px;
        /* background-color:pink; */
    }
    
    .navi{
        width:21px;
        height:156px;
        /* background-color:silver; */
        /*background-color:black;*/
        float:left;
    
    }
    .navi ul{
        margin-top:0px;
        /* ul一直向下离上边框有几十个像素,想了很久才知道在这里改。 */
        padding:0px;
        margin-left:0px;
        float:left;
    }
    .navi li{
        list-style-type:none;
        width:21px;
        height:42px;
        margin-top:2px;
        float:left;
        text-align:center;
        padding-top:8px;
        /* 这里margin-top不好使 */
        background-color:silver;
    }
    .zs,.rz,.cg{
        margin-top:2px;
        margin-bottom:2px;
        width:100px;
        height:152px;
        /*background-color:silver;*/
        margin-left:4px;
        float:left;
    }
    .zs ul,.rz ul,.cg ul{
        padding:0px;
        margin-top:0px;
        margin-left:0px;
        float:left;
        /* background-color:red; */
        height:156px;
    }
    .zs ul li,.rz ul li,.cg ul li{
        width:100px;
        list-style-type:none;
        line-height:19px; 
        float:left;
    }
    .rz,.cg{
        /* visibility:hidden; */
        /* visibility有可能占用空间,不能按照预定位置显示 */
        display:none;
        /*visibility和display是有区别的。*/
    
    }

    在鼠标移动到响应的模块时触发事件。

    onmouseover="change('zs',this)"

    显示不同的信息时改变display属性值即可。

    zs.style.display="none";
    rz.style.display="block";
    cg.style.display="none";

    代码如下所示:

    <!DOCTYPE HTML>
    <html lang="en">
    <head>
    <link href="sohudiv.css" type="text/css" rel="styleSheet"/>
    <script language="javascript" type="text/javascript">
    <!-- 
        function change(val,obj){
            obj.style.backgroundColor="#FFC12D";
            if(val=='zs'){
                //window.alert("ok");
                /*zs.style.visibility="visible";
                rz.style.visibility="hidden";*/
                /*zs.style.backgroundColor="#FFC12D";*/
                zs.style.display="block";
                rz.style.display="none";
                cg.style.display="none";
            }else if(val=='rz'){
                //window.alert("ok");
                /*zs.style.visibility="hidden";
                rz.style.visibility="visible";*/
                //用上面的方法是行不通的
                /*rz.style.backgroundColor="#FFC12D";*/
                zs.style.display="none";
                rz.style.display="block";
                cg.style.display="none";
            }else if(val=='cg'){
                zs.style.display="none";
                rz.style.display="none";
                cg.style.display="block";
            }
        }
        function change2(obj){
            obj.style.backgroundColor="silver";
        }
        
    //-->
    </script>
    </head>
    <body>
    <div class="div1">
    <div class="navi">
    <ul>
    <li onmouseover="change('zs',this)" onmouseout="change2(this)">招生</li>
    <li onmouseover="change('rz',this)" onmouseout="change2(this)">热招</li>
    <li onmouseover="change('cg',this)" onmouseout="change2(this)">出国</li>
    </ul>    
    <!-- 超链接div -->
    
    </div>
    <div class="zs" id="zs">
    <ul>
    <li><a href="#">招生招生招生招生</a></li>
    <li><a href="#">招生招生招生招生</a></li>
    <li><a href="#">招生招生招生招生</a></li>
    <li><a href="#">招生招生招生招生</a></li>
    <li><a href="#">招生招生招生招生</a></li>
    <li><a href="#">招生招生招生招生</a></li>
    <li><a href="#">招生招生招生招生</a></li>
    <li><a href="#">招生招生招生招生</a></li>
    </ul>
    </div>
    <div class="rz" id="rz">
    <ul>
    <li><a href="#">热招热招热招热招</a></li>
    <li><a href="#">热招热招热招热招</a></li>
    <li><a href="#">热招热招热招热招</a></li>
    <li><a href="#">热招热招热招热招</a></li>
    <li><a href="#">热招热招热招热招</a></li>
    <li><a href="#">热招热招热招热招</a></li>
    <li><a href="#">热招热招热招热招</a></li>
    <li><a href="#">热招热招热招热招</a></li>
    </ul>
    </div>
    <div class="cg" id="cg">
    <ul>
    <li><a href="#">出国出国出国出国</a></li>
    <li><a href="#">出国出国出国出国</a></li>
    <li><a href="#">出国出国出国出国</a></li>
    <li><a href="#">出国出国出国出国</a></li>
    <li><a href="#">出国出国出国出国</a></li>
    <li><a href="#">出国出国出国出国</a></li>
    <li><a href="#">出国出国出国出国</a></li>
    <li><a href="#">出国出国出国出国</a></li>
    </ul>
    </div>
    </div>
    </body>
    </html>

     练习:

    收缩:

    展开:

    这里是障眼法。 

    实现代码如下所示:

    <!DOCTYPE HTML>
    <html>
    <head>
    <script language="javascript" type="text/javascript">
        function test1_onclick(){
            if(test1.innerText=="+"){
                //window.alert("ok");
                //window.alert(test1.innerText);
                test1.innerText="-";
                myList.style.display="block";
            }else if(test1.innerText=="-"){
                //window.alert("ok");
                test1.innerText="+";
                //test1.innerText="+";不要写成test1.innerText=="+";
                myList.style.display="none";
                //myList.style.display="none";不要写成myList.display="none"了;
            }
        }
    </script>
    <title>Document</title>
    </head>
    <body>
    
    <p><span id="test1" onclick="test1_onclick()" style="border:3px solid red" >+</span>myFamily</p>
    <ul id="myList" style="display:none">
    <li>爸爸</li>
    <li>妈妈</li>
    <li>弟弟</li>
    </ul>    
    </body>
    </html>
  • 相关阅读:
    EF多个上下文迁移
    Ruby知识点三:运算符
    Ruby知识点二:类
    不用搭环境的10分钟AngularJS指令简易入门01(含例子)
    JavaScript DOM编程艺术第二版学习(1/4)
    VisualStudio2013&VS2015内置SQLServer入门 (三)
    VisualStudio2015内置LocalDB
    VisualStudio2013内置SQLServer入门
    Java反射学习(java reflect)(三)
    Java反射学习(java reflect)(二)
  • 原文地址:https://www.cnblogs.com/liaoxiaolao/p/9803503.html
Copyright © 2011-2022 走看看