zoukankan      html  css  js  c++  java
  • javascript+css3简单的手风琴效果

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>javascript+css3简单的手风琴效果</title>
    <style>
    #imageMenu{500px;height:200px;overflow:hidden;}
    #imageMenu ul *{transition:all linear 0.2s;}
    #imageMenu ul{800px;height:200px;padding: 0; margin: 0; list-style: none}
    #imageMenu li{float:left;}
    #imageMenu ul li a{ 73px;height:110px;overflow:hidden;}
    #imageMenu ul .big a {200px;}
    #imageMenu li a{98px;height:200px;display:block;text-indent:9999px;border-right:2px solid #fff;cursor:pointer;overflow:hidden;}
    #imageMenu .landscapes a{background:url(http://img.funshion.com/pictures/media/list/109/251/109251_200_110.jpg?1405409131) no-repeat;}
    #imageMenu .people a{background:url(http://img.funshion.com/pictures/media/list/109/562/109562_200_110.jpg?1386039195) no-repeat;}
    #imageMenu .nature a{background:url(http://img.funshion.com/pictures/media/list/101/158/101158_200_110.jpg?1405677722) no-repeat;}
    #imageMenu .urban a{background:url(http://img.funshion.com/pictures/media/list/103/960/103960_200_110.jpg?1395209765) no-repeat;}
    #imageMenu .abstract a{background:url(http://img.funshion.com/pictures/media/list/106/935/106935_200_280.jpg?1405186860) no-repeat;}
    </style>
    </head>
    <body>
    <div id="imageMenu">
        <ul>
            <li class="landscapes">
                <a href="#link1">Landscapes</a>
            </li>
            <li class="people big">
                <a href="#link1">People</a>
            </li>
            <li class="nature">
                <a href="#link1">Nature</a>
            </li>
            <li class="urban">
                <a href="#link1">Urban</a>
            </li>
            <li class="abstract">
                <a href="#link1">Abstract</a>
            </li>
        </ul>
    </div>
    <script type="text/javascript">
    function bind(ele, evType, callback){
        if(typeof ele.addEventListener === 'function'){
            ele.addEventListener(evType, callback, false);
        }else if(typeof ele.attechEvent === 'function'){
            ele.attechEvent('on'+evType, callback);
        }
    }

    function mouseOverHander(ev, lists){
        // var imageMenu = document.getElementById('imageMenu');
        // var lists = imageMenu.getElementsByTagName('li');
        lists = lists || [];
        var target = ev.target || ev.srcElement;

        for(var i = 0; i < lists.length; i++){
            //简单的正则表达式 有' big'(这里匹配空格和big)这个class 替换成''
            lists[i].className = lists[i].className.replace(/ ?big/g, '');
        }

        //如果当前的元素不是li找他的父节点,当冒泡到body时候退出
        while(target.tagName.toLowerCase() != 'li' && target.tagName.toLowerCase() != 'body'){
            target = target.parentNode;
        }

        target.className += ' big';
    }

    window.onload = function(){
        var imageMenu = document.getElementById('imageMenu');
        var lists = imageMenu.getElementsByTagName('li');

        for(var i = 0, l = lists.length; i < l; i++){
            bind(lists[i], 'mouseover', function(e){
                mouseOverHander(e, lists);
            });
        }
    }
    </script>
    </body>
    </html>

  • 相关阅读:
    JavaScript 正则表达式中的特殊字符
    framework —— throttles(访问频率控制)
    framework —— permission(权限)
    framework —— auth认证
    算法——基础知识
    算法——解迷宫
    算法
    爬虫 ==》 同步调用
    asyncio模块
    Requests模块
  • 原文地址:https://www.cnblogs.com/sunhw360/p/4139801.html
Copyright © 2011-2022 走看看