zoukankan      html  css  js  c++  java
  • 随着鼠标移动的图片百叶窗效果

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>鼠标拖动效果</title>
    <style type="text/css">
    *{margin:0;padding:0;}
    .wrapper{position:relative;800px;height:600px;overflow:hidden;margin:0 auto;}
    .div1{position:absolute;top:0;left:0;800px;height:600px;overflow:hidden;z-index:4;background:url(DSCN0475.JPG) no-repeat left top;}
    .div2{position:absolute;top:0;left:0;800px;height:600px;z-index:1;overflow:hidden;background:url(DSCN0488.JPG) no-repeat right top;}
    #addDiv{position:absolute;top:0;left:0;z-index:3;10px;height:600px;overflow:hidden;background:#ccc;opacity:0.6;filter:alpha(opacity=60);}
    .opacity0{display:block;position:absolute;top:0;left:0;200px;height:600px;z-index:6;background:#c6c6c6;opacity:0.6;filter:alpha(opacity=60);}
    .opacity1{display:none;position:absolute;top:0;right:0;100px;height:600px;z-index:5;background:#c6c6c6;opacity:0.6;filter:alpha(opacity=60);}

    </style>
    </head>    

    <body>
    <div class="wrapper" id="wrapper">
        <div class="div1" id="effectDiv"></div>
        <div class="div2"></div>
        <div class="opacity0" id="opacity0"></div>
        <div class="opacity1" id="opacity1"></div>
            
    </div>
    <script type="text/javascript">
    var base = {
        addEvent:function(obj,eve,fn){
            if(obj.addEventListener){
                obj.addEventListener(eve,fn,false);
            }else{
                obj.attachEvent("on"+eve,function(){
                    fn.call(obj);
                })
            }
        },
        getId:function(id){
            return document.getElementById(id);
        },
        getEvent:function(event){
            return event?event:window.event;
        },
        createDiv:function(dom,id){
            var dom = document.createElement(dom);
            dom.setAttribute("id","addDiv");
            return dom;
        },
        getLayerX:function(e){
            return e.layerX?e.layerX:e.offsetX;
        }
    };
    base.addEvent(effectDiv,"mouseover",function(e){
        var wrapper = base.getId("wrapper");
        var effectDiv = base.getId("effectDiv");
        var oEvent = base.getEvent(e);
        var left = oEvent.clientX - wrapper.offsetLeft;
        var addDiv = base.getId("addDiv");
        var opacity0 = base.getId("opacity0");
        var opacity1 = base.getId("opacity1");
        var older=0,current=0;
        current = oEvent.clientX;
        if(! addDiv){
            addDiv = base.createDiv("div","addDiv");
            addDiv.setAttribute("id","addDiv");    
            effectDiv.parentNode.appendChild(addDiv);
        }
        base.addEvent(document,"mousemove",function(e){
            var oEvent = base.getEvent(e);
            older = current;
            current = oEvent.clientX;
            left = oEvent.clientX - wrapper.offsetLeft;
            if(left <= 0){
                left = 0;
            }else if(left >= (wrapper.offsetWidth - addDiv.offsetWidth)){
                left = wrapper.offsetWidth - addDiv.offsetWidth;
            }
            if(current - older < 0 ){
                opacity1.style.display = "none";
                document.title = left ;
                opacity0.style.width = left +"px";
                opacity0.style.display = "block";
            }else if(current - older > 0){
                opacity0.style.display = "none";
                opacity1.style.width = wrapper.offsetWidth - left  + "px";
                opacity1.style.display = "block";
            }
            addDiv.style.left = left + "px";
            effectDiv.style.width = left + "px";
        })
    })
    </script>
    </body>
    </html>

  • 相关阅读:
    C#基于引用创建单链表
    锻炼自己的思维模式
    [数据结构]C#基于数组实现泛型顺序表
    DEV Express
    [LeetCode] Combinations (bfs bad、dfs 递归 accept)
    [LeetCode] Wildcard Matching
    [LeetCode] Remove Duplicates from Sorted List II
    [LeetCode] Partition List
    [LeetCode] Scramble String(树的问题最易用递归)
    [LeetCode] Decode Ways(DP)
  • 原文地址:https://www.cnblogs.com/xiuciedward/p/3227700.html
Copyright © 2011-2022 走看看