国产黄色免费网站_久久天天做天天爱综合色_精品国产一区久久久_成人黄色激情网站_久久成人在线视频_美女一区二区在线观看_亚洲精品免费一区亚洲精品免费精品一区 _91精品国产综合久久精品麻豆

JavaScript拖拽效果

2020-3-16    前端達人

要實現JavaScript的拖拽效果,首先我們需要知道事件對象幾個有關于實現拖拽效果的坐標

獲取事件對象 var e = e || window.event;



根據需求需要用到的拖拽效果的坐標



clientX:鼠標點擊位置相對于瀏覽器可視區域的水平偏移量(不會計算水平滾動的距離)



clientY:鼠標點擊位置相對于瀏覽器可視區域的垂直偏移量(不會計算垂直滾動條的距離)



offsetX:鼠標點擊位置相對于觸發事件對象的水平距離



offsetY:鼠標點擊位置相對于觸發事件對象的垂直距離



pageX:鼠標點擊位置相對于網頁左上角的水平偏移量,也就是clientX加 上水平滾動條的距離



pageY:鼠標點擊位置相對于網頁左上角的垂直平偏移量,也就是clientY加上垂直滾動條的距離



offsetLeft:如果父元素中有定位的元素,那么就返回距離當前元素最近的定位元素邊緣的距離



offsetTop:如果父元素中沒有定位元素,那么就返回相對于body左邊緣距離



獲取元素自身大?。簅ffsetWidth和offsetHeight / clientWidth和clientHeight



offsetWidth和clientWidth的區別:就是offsetWidth包含邊框,clientWidth不包含邊框



實現拖拽需要用到:clientWidth、clientHeight、clientX、clientY、offsetLeft、offsetTop


首先搭建好html結構和css樣式


 <div class="wrap">
        <div class="cover">

        </div>
    </div>

* {
            margin: 0;
            padding: 0;
        }

        .wrap {
            width: 500px;
            height: 500px;
            border: 1px solid deeppink;
            position: relative;
            margin: 50px auto;
        }

        .cover {
            width: 150px;
            height: 150px;
            background: rgba(200, 7, 99, 0.5);
            display: none;
            position: absolute;
            left: 0;
            top: 0;
            cursor: move;
        }
注意:需要給大盒子和小盒子進行定位:子絕父相
接下來就JavaScript代碼

<script>
    var wrap = document.querySelector(".wrap");
    var cover = document.querySelector(".cover");
    wrap.onmouseover = function() {
        cover.style.display = "block";
        wrap.onmousemove = function(e) {
            var e = e || window.event;
            var x1 = e.clientX;
            var y1 = e.clientY;
//這里獲取到的e.clientX和e.clientY,可以看情況和需求改為e.pageX和e.pageY             
            var halfWidth = cover.clientWidth / 2;
            var halfHeight = cover.clientHeight / 2;
            var wrapLeft = wrap.offsetLeft;
            var wrapTop = wrap.offsetTop;
            var l = x1 - wrapLeft - halfWidth;
            var t = y1 - wrapTop - halfHeight;

            if (l <= 0) {
                l = 0
            }
            if (l >= wrap.clientWidth - cover.clientWidth) {
                l = wrap.clientWidth - cover.clientWidth
            }
            if (t <= 0) {
                t = 0
            }
            if (t >= wrap.clientHeight - cover.clientHeight) {
                t = wrap.clientHeight - cover.clientHeight
            }
            cover.style.left = l + "px";
            cover.style.top = t + "px"
        }
    }
    wrap.onmouseout = function() {
        cover.style.display = "none";
    }
</script>

  var halfWidth = cover.clientWidth / 2;
            var halfHeight = cover.clientHeight / 2;
            var wrapLeft = wrap.offsetLeft;
            var wrapTop = wrap.offsetTop;
            var l = x1 - wrapLeft - halfWidth;
            var t = y1 - wrapTop - halfHeight;
            //限制范圍
             if (l <= 0) {
                l = 0
            }
            if (l >= wrap.clientWidth - cover.clientWidth) {
                l = wrap.clientWidth - cover.clientWidth
            }
            if (t <= 0) {
                t = 0
            }
            if (t >= wrap.clientHeight - cover.clientHeight) {
                t = wrap.clientHeight - cover.clientHeight
            }
注意:這里要限制小盒子在大盒子之間移動的范圍,左上角的限制,當小盒子超出范圍時,將0賦值給l和t。右下角小盒子移動的范圍在大盒子寬度減去小盒子的寬度。
其中為了使鼠標一直處于小盒子(cover)的最中間,需要減去小盒子寬度的一半。
再減去大盒子距離頁面左邊的邊距和上邊的邊距就可以得到坐標

只要鼠標移入大盒子中,就能直接拖拽小盒子,并且鼠標一直處于小盒子的最中間。這樣便完成了簡單的拖拽效果。

20200315200118747.png
20200315200118747.png


————————————————
版權聲明:本文為CSDN博主「_kaze」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/luffy_999/article/details/104884538

日歷

鏈接

個人資料

藍藍設計的小編 http://www.newchinaweekly.com

存檔

精品日本12videosex| 久久国产亚洲精品无码| 日本精品视频一区| 黄色网址在线免费看| 国产成人无码一二三区视频| 性xxxxxxxxx| 五月婷婷六月香| 久久久国产免费| 四虎地址8848jia| 小舞被吸乳羞羞网站视频| www.男人的天堂.com| 日本在线看片免费人成视1000| 色偷偷偷在线视频播放 | 91在线视频观看| 亚洲一区二区三区视频在线播放 | jizzjizz4| 福利视频在线播放| 欧美成人三级| 午夜精品久久| 大桥未久av一区二区三区中文| 亚洲综合视频网| 欧美成人一级视频| 韩剧1988在线观看免费完整版| 国产乱码精品一区二区三区日韩精品| 日本人妻伦在线中文字幕| 韩国三级视频在线观看| 51国产偷自视频区视频| 欧美精品久久久久久久小说| 在线观看av片| 国产a亚洲精品| 亚洲伦伦在线| 国产精品久久久久久久蜜臀| 欧美成人精品福利| 国产精品国产三级国产aⅴ9色| 最新精品视频| a毛片毛片av永久免费| 91亚洲精品国偷拍自产在线观看 | 在线免费黄色av| www.91视频| 欧美理论电影| 日韩欧美精品一区| 久久嫩草精品久久久精品| 欧美日韩亚洲综合一区二区三区| 欧美精品久久久久a| 日本精品一区二区三区不卡无字幕| 日韩欧美中文视频| 伊人网中文字幕| jizzjizzjizz亚洲| 91亚洲精品| 天堂av在线一区| 大桥未久av一区二区三区| 久久av在线看| 色哺乳xxxxhd奶水米仓惠香| 强制高潮抽搐sm调教高h| 国色天香一二三期区别大象| 成a人v在线播放| 日韩久久久久| 亚洲麻豆国产自偷在线| 欧美成人亚洲成人日韩成人| 三年中文高清在线观看第6集| 青青青手机在线视频| 欧美日韩亚洲第一页| 在线免费av导航| 黑人一区二区| 欧美视频精品一区| 国产精品99一区| 艹b视频在线观看| 国产成人精品白浆久久69| 意大利激情丛林无删减版dvd| 亚洲精品观看| 久久精品一区蜜桃臀影院| 在线看日韩欧美| www.亚洲视频.com| 无码人妻黑人中文字幕| 黄页免费在线观看| 成人av动漫在线观看| 亚洲欧美经典视频| 国产成人拍精品视频午夜网站| 在线观看国产一级片| 免费观看的毛片| av网站大全在线| 久久xxxx精品视频| 欧美一区二区播放| 日韩av大全| 久久久精品免费看| 性色视频在线观看| 午夜视频一区| 欧美人牲a欧美精品| 久久伊人资源站| 国产喷水在线观看| 国产不卡视频| 91一区二区| 欧美午夜宅男影院| 久久国产精品一区二区三区| 欧美色图亚洲天堂| 性色视频在线| 亚洲一卡久久| 亚洲乱码一区av黑人高潮| 欧美日韩性生活片| 亚洲天堂在线视频观看| 日韩av首页| 国产欧美精品在线观看| 日本成人在线视频网址| 欧美一区二区三区成人精品| a级毛片免费| 欧美xxav| 欧美xxxx老人做受| 日韩在线综合网| 天堂中文在线www| 亚洲高清999| 精品久久久久久久久久国产| 久久久99爱| 中文字幕777| 国产桃色电影在线播放| 丁香网亚洲国际| 国产精品99久久久久久www| 久久久久久久久福利| 日本在线三级| 首页亚洲欧美制服丝腿| 最近2019中文字幕在线高清| www.成人黄色| 天天操夜夜做| 亚洲国产免费看| 日韩在线观看免费网站| 国产精品亚洲一区二区无码| 天天射天天爱天天射干| 亚洲福利一区| 久久精视频免费在线久久完整在线看| 91福利视频免费观看| 88av看到爽| 99热精品在线观看| 日韩在线观看成人| 在线不卡av电影| 国产成人天天5g影院在线观看| 国产精品99久久久久久久女警 | 亚洲一区二区三区日韩| 在线免费看黄色| 高清国产一区二区三区| 国产中文字幕91| 中日韩在线观看视频| 成人精品高清在线视频| 日韩欧美在线网址| 国产免费黄色av| 5858p先锋影音资源网| 欧美亚洲不卡| 久久青草福利网站| 中文字幕影音先锋| 国产精品探花在线| 一区二区三区在线播放| 污污污污污污www网站免费| 欧美bbbbxxxx| 亚洲成人资源| 欧美在线视频观看免费网站| 日韩成人免费在线观看| 成人一区视频| 7777精品伊人久久久大香线蕉最新版| 国产精品一区二区羞羞答答| 国产美女免费观看| 成人丝袜高跟foot| 精品婷婷色一区二区三区蜜桃| 五月天婷婷激情网| 91精品观看| 国内精品视频在线| 男操女视频网站| 人妖一区二区三区| 国产一区二区三区在线观看视频 | 中文字幕在线观看一区二区三区| 国产精品免费视频二三区| 国产精品一卡| 国产一区二区丝袜| 天天操天天射天天舔| 中文字幕一区二区三区乱码图片| 欧美精品xxx| 在线免费看av片| 激情综合网五月| 欧美人交a欧美精品| av片免费观看| 色综合中文网| 欧美激情va永久在线播放| 国产成人在线免费视频| 操欧美女人视频| 久久国产精品视频| 五月天婷婷导航| av资源久久| 日韩av色在线| 狠狠鲁男人天堂| 亚洲国产专区| 91久久中文字幕| 小早川怜子痴女在线精品视频| 性色一区二区| 久久久久久久久久久一区| 国产极品嫩模在线视频一区| 麻豆91小视频| 一区二区三区四区免费视频| 国产福利图片| 亚洲黄色免费网站| 最新版天堂资源在线| www555久久| 亚洲国产精品小视频| 国产对白videos麻豆高潮|