百度運動導航欄

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title> 導航欄 </title>
        <style type="text/css">
            * {
                margin: 0;
                padding: 0;
                color: #FFFFFF;
                font-weight: 900;
            }
            
            #box {
                width: 1088px;
                background: blue;
                position: relative;
                margin: 100px auto 0;
            }
            
            #list {
                position: relative;
            }
            
            #list:after {
                height: 0;
                clear: both;
                content: ".";
                display: block;
                visibility: hidden;
            }
            
            #list li {
                float: left;
                cursor: pointer;
                list-style: none;
                margin-right: 1px;
                padding: 12px 20px;
                position: relative;
                z-index: 2;
            }
            
            #list li.active {
                background: orangered;
                
            }
            
            #shade {
                top: 0;
                left: 0;
                width: 0;
                height: 100%;
                position: absolute;
                background: orangered;
            }
        </style>
    </head>

    <body>
        <div id="box">
            <ul id="list">
                <li class="active">首頁</li>
                <li>關于我們</li>
                <li>新聞</li>
                <li>列表</li>
                <li>視頻</li>
                <li>傳媒</li>
                <li>互聯網</li>
                <li>個性推薦</li>
                <li>體育</li>
                <li>房地產</li>
                <li>娛樂</li>
                <li>財經</li>
                <li>聯系我們</li>
                <div id="shade"></div>
            </ul>
        </div>
        <script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            /**
             * outerWidth() 獲取元素的寬度,相當于原聲JS中的offsetWidth
             */
            $(function(){
                $('#shade').css({
                    'width' : $('#list li').outerWidth()
                });
                
                /**
                 * 用  mouseenter 和 mouseleave 實現滑動效果
                 */
                /*
                $('#list li').mouseenter(function(){
                    $('#shade').stop().animate({
                        'width' : $(this).outerWidth(),
                        'left' : $(this).position().left
                    },500);
                });
                $('#list li').mouseleave(function(){
                    $('#shade').stop().animate({
                        'width' : $('#list li').outerWidth(),
                        'left' : '0'
                    },500);
                });
                */
                /**
                 * 用 hover 實現滑動效果
                 */
                
                $('#list li').hover(function(){
                    $('#shade').stop().animate({
                        'width' : $(this).outerWidth(),
                        'left' : $(this).position().left
                    },500);
                },function(){
                    $('#shade').stop().animate({
                        'width' : $('#list li').outerWidth(),
                        'left' : '0'
                    },500);
                });
            });
        
        
        
        
        
            /**
             * 使用原聲 JS 實現效果
             */
        
        /*
            var oBox = document.getElementById("box");
            var oList = document.getElementById("list");
            var oShade = document.getElementById("shade");
            var oLi = oList.getElementsByTagName("li");
            
            oShade.style.width = oLi[0].offsetWidth + 'px';
            
            for( var i=0;i<oLi.length;i++ ){
                oLi[i].index = i;
                oLi[i].onmouseover = function(){
                    //獲取陰影的寬度   等于劃過 li 的寬度
                    oShade.style.width = oLi[this.index].offsetWidth + 'px';
                    oShade.style.left = oLi[this.index].offsetLeft + 'px';
                };
                oLi[i].onmouseout = function(){
                    oShade.style.width = '0';
                    oShade.style.left = '0';
                };
            };
            */
        </script>
    </body>
</html>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容