国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

js實(shí)現(xiàn)彈出框的拖拽效果實(shí)例代碼詳解

2019-11-19 11:46:31
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

具體代碼如下所示:

//HTML部分<div class="wrap"></div><div class="popUpBox">  <div class="layer-head"><div class="layer-head-text">彈出框</div><div class="layer-close"></div></div>  <div class="layer-body"></div>  <div class="layer-footer">    <div class="layer-footer-button-group">      <div class="layer-footer-button layer-sure">確定</div>      <div class="layer-footer-button layer-cancel">取消</div>    </div>  </div></div>//CSS部分.wrap {position: fixed;left: 0;top: 0;background-color: #000;z-index: 10000;  opacity: 0.3;}.popUpBox {  height: 400px;  width: 700px;  position: absolute;  overflow: hidden;  box-sizing: border-box;  z-index: 10000;  background-color: #fff;  border-radius: 2px;  box-shadow: 1px 1px 50px rgba(0,0,0,.3);}.layer-head {  width: 100%;  height: 35px;  border-bottom: 1px solid #eee;  box-sizing: border-box;  background-color: #f8f8f8;  border-radius: 4px 4px 0 0;  cursor: move;}.layer-head-text {  padding-left: 20px;  font-size: 14px;  color: #333;  height: 35px;  line-height: 34px;  float: left;}.layer-close {  float: right;  width: 16px;  height: 16px;  background-image: url(../images/close_hover.png);  background-repeat:no-repeat;  background-size:100% 100%;  position: absolute;  top: 10px;  right: 12px;  cursor: pointer;}.layer-body {  width: 100%;  height: calc(100% - 73px);}.layer-footer {  width: 100%;  height: 38px;  border-top: 1px solid #eee;  box-sizing: border-box;  background-color: #f8f8f8;  border-radius: 0 0 4px 4px;}.layer-footer-button-group {  padding: 5px 0 5px 576px;  height: 28px;}.layer-footer-button {  width: 56px;  height: 28px;  line-height: 28px;  margin-right: 6px;  box-sizing: border-box;  font-size: 12px;  float: left;  text-align: center;  cursor: pointer;}.layer-sure {  border: 1px solid #4898d5;  background-color: #2e8ded;  color: #fff;}.layer-cancel {  border: 1px solid #dedede;  background-color: #f1f1f1;  color: #333;}//點(diǎn)擊某物體時(shí),用drag對(duì)象即可,move和up是全局區(qū)域,也就是整個(gè)文檔通用,應(yīng)該使用document對(duì)象而不是drag對(duì)象(否則,采用drag對(duì)象時(shí)物體只能往右方或下方移動(dòng))$(document).on('mousedown', '.layer-head', function(e) {  e = e || window.event; //兼容ie瀏覽器  var drag = $(this).parent();  $('body').addClass('select'); //webkit內(nèi)核和火狐禁止文字被選中  document.body.onselectstart = document.body.ondrag = function() { //ie瀏覽器禁止文字選中  return false;}if ($(e.target).hasClass('layer-close')) { //點(diǎn)關(guān)閉按鈕不能拖拽模態(tài)框  return;}  var diffX = e.clientX - drag.offset().left; //鼠標(biāo)點(diǎn)擊物體那一刻相對(duì)于物體左側(cè)邊框的距離=點(diǎn)擊時(shí)的位置相對(duì)于瀏覽器最左邊的距離-物體左邊框相對(duì)于瀏覽器最左邊的距離  var diffY = e.clientY - drag.offset().top;  $(document).on('mousemove', function(e) {    e = e || window.event; //兼容ie瀏覽器     var left = e.clientX - diffX;     var top = e.clientY - diffY;    if (left < 0) {       left = 0;     } else if (left > window.innerWidth - drag.width()) {       left = window.innerWidth - drag.width();     }    if (top < 0) {       top = 0;     } else if (top > window.innerHeight - drag.height()){       top = window.innerHeight - drag.height();     }    //移動(dòng)時(shí)重新得到物體的距離,解決拖動(dòng)時(shí)出現(xiàn)晃動(dòng)的現(xiàn)象    drag.css({      'left': left + 'px',      'top': top + 'px'    });  });  $(document).on('mouseup', function(e) { //當(dāng)鼠標(biāo)彈起來(lái)的時(shí)候不再移動(dòng)     $(document).unbind("mousemove");    $(document).unbind("mouseup");  });});

總結(jié)

以上所述是小編給大家介紹的js實(shí)現(xiàn)彈出框的拖拽效果實(shí)例代碼詳解 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大丰市| 花莲县| 徐汇区| 大安市| 平阳县| 远安县| 应城市| 温泉县| 白城市| 濉溪县| 邛崃市| 恭城| 太原市| 清徐县| 苍溪县| 沙雅县| 屏边| 威远县| SHOW| 汶川县| 苏尼特右旗| 土默特右旗| 雷山县| 如东县| 远安县| 德兴市| 岳池县| 乐山市| 聊城市| 邵阳市| 色达县| 姚安县| 东海县| 柯坪县| 永城市| 清水河县| 日土县| 梅河口市| 彰化市| 巴林左旗| 陈巴尔虎旗|