• 妙味——自定义滚动条+鼠标滚轮


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <style>
    #parent{width: 400px;height: 20px;background-color: #eee;margin: 50px auto;position: relative;}
    #child{width: 20px;height: 20px;background-color: red;cursor: pointer;position: absolute;}
    #div2{width: 200px;height: 300px;background: yellow;border: 1px solid black;position: relative;overflow: hidden;}
    #div3{position: absolute;}
    </style>
    <script>
    function myAddEvent(obj,sEvent,fn)
    {
        if(obj.attachEvent)
        {
            obj.attachEvent('on'+sEvent,fn);
        }
        else
        {
            obj.addEventListener(sEvent,fn,false);
        }
    }
    
    window.onload=function()
    {
        var oDiv=document.getElementById('child');
        var oParent=document.getElementById('parent');
        var oDiv2=document.getElementById('div2');
        var oDiv3=document.getElementById('div3');
    
        function onMouseWheel(ev)
        {
            var oEvent=ev||event;
    
            var bDwon=true;    //鼠标滚轮方向是否向下
    
            bDwon=oEvent.wheelDelta?oEvent.wheelDelta < 0:oEvent.detail > 0;
    
            // alert(bDwon);
            if(bDwon)
            {
                setLeft(oDiv.offsetLeft+10);
            }
            else
            {
                setLeft(oDiv.offsetLeft-10);
            }
    
            if(oEvent.preventDefault)    //FF   阻止默认事件(通过事件绑定的)
            {
                oEvent.preventDefault();
            }
    
            return false;
        };
    
        myAddEvent(oParent,'mousewheel',onMouseWheel);
        myAddEvent(oParent,'DOMMouseScroll',onMouseWheel);
        myAddEvent(oDiv2,'mousewheel',onMouseWheel);
        myAddEvent(oDiv2,'DOMMouseScroll',onMouseWheel);
    
        oDiv.onmousedown=function(ev)
        {
            var oEvent=ev||event;
            var disX=oEvent.clientX-oDiv.offsetLeft;
    
            document.onmousemove=function(ev)
            {
                var oEvent=ev||event;
                var l=oEvent.clientX-disX;
    
                setLeft(l);
            };
    
            document.onmouseup=function()
            {
                document.onmousemove=null;
                document.onmouseup=null;
            };
        };
        function setLeft(l)
        {
            if(l<0)
            {
                l=0;
            }
            else if(l>oParent.offsetWidth-oDiv.offsetWidth)
            {
                l=oParent.offsetWidth-oDiv.offsetWidth;
            }
            oDiv.style.left=l+'px';
            var scale=l/(oParent.offsetWidth-oDiv.offsetWidth);
    
            oDiv3.style.top=-(oDiv3.offsetHeight-oDiv2.offsetHeight)*scale+'px';
    
            document.title=scale;
        };
    };
    </script>
    </head>
    <body>
        <div id="parent">
            <div id="child"></div>
        </div>
        <div id="div2">
            <div id="div3">
                永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!永远相信,美好的事情即将发生!
            </div>
        </div>
    </body>
    </html>
    高否?富否?帅否? 否? 滚去学习!
  • 相关阅读:
    Linux下使用rm删除文件,并排除指定文件
    使用use index优化sql查询
    PHP面试中经常出现的composer 问题总结
    MySQL全局锁库锁表
    《MySQL必懂系列》全局锁、表级锁、行锁
    Redis面试题(2020最新版)
    What is stabs?
    链接与加载
    MachO之Segment初探
    为什么要在预编译头中加__OBJC__?
  • 原文地址:https://www.cnblogs.com/baixc/p/3506174.html
Copyright © 2020-2023  润新知