亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery實現仿Google首頁拖動效果的方法

2019-11-20 12:33:45
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery實現仿Google首頁拖動效果的方法。分享給大家供大家參考。具體如下:

這里用jQuery.js庫寫了一個仿Google首頁拖動的特效代碼

<!DOCTYPE html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>用JQUERY實現的仿Google首頁拖動特效</title><style type="text/css"> #div_width{ width:98%; margin:0 auto; } *{ margin:0px; padding:0px; } #div_left,#div_right,#div_center{ float:left; width:28%; height:900px; margin:0 3px; } #div_center{ width:38%; } .can_move{ border:1px solid blue; width:100%; margin:5px 0; min-height:150px; } .center_width{ height:200px; } p{ height:30px; color:#fff; line-height:30px; background:#000; cursor:move; } #xuxian{ /*虛線框*/ border:1px dashed #000; margin:5px 0; } </style> <script src="js/jquery.js"></script> <script> //<![CDATA[ window.onload=function(){ var mouse_down=false; //鼠標時候按下 var x_old=null;  //按下鼠標時鼠標的坐標 var y_old=null; var div_move=null;  //正在移動的div var div_move_width=null; //正在移動的div的寬 var div_move_height=null; //正在移動的div的高 var xuxian="<div id='xuxian'></div>"; //虛線框 document.oncontextmenu=new Function('event.returnValue=false;'); //禁止右鍵 document.onselectstart=new Function('event.returnValue=false;'); //禁止選中 //當鼠標按下的時候 $("p").mousedown(function(e){  mouse_down=true; //鼠標按下  div_move=$(this).parent(); //指定當前div為正在移動的div  div_move_width=div_move.width();  div_move_height=div_move.height();  x_old=e.pageX-$(this).offset().left; //獲取鼠標坐標  y_old=e.pageY-$(this).offset().top;  //把當前div的position改成absolute  div_move.css({  position:'absolute',  zIndex:'10',  width:div_move_width,  height:div_move_height,  top:div_move.offset().top,  left:div_move.offset().left  });  //將虛線框添加到正在移動的div之前的位置  div_move.before(xuxian);  $("#xuxian").css({  width:'100%',  height:div_move_height  }); }); //移動鼠標 $(document).mousemove(function(e){  if(!mouse_down) return false;  var _x=e.pageX;  var _y=e.pageY;  var div_right_div=$("#div_right>div").not(div_move).not("#xuxian");  div_move.css({ //改變正在移動div的top和left  top:_y-y_old,  left:_x-x_old  });/*注意,因為鼠標當前始終在正在移動的div上面,所以,鼠標移動不會觸發其他元素的mouseenter,mouseleave,mouseover和mouseout事件,要想達到同樣的效果,只能根據鼠標的坐標來判斷鼠標是否進入其他元素*/  var left_left=$("#div_left").offset().left;  //確定左邊div_left容器的位置  var left_width=$("#div_left").width();  var right_left=$("#div_right").offset().left;  //確定右邊div_right容器的位置  var right_width=$("#div_right").width();  var center_left=$("#div_center").offset().left;  //確定中間div_center容器的位置  var center_width=$("#div_center").width();  //判斷鼠標坐標是否進入左邊div_left容器  if(_x>left_left&&_x<(left_left+left_width)){  /*選定左邊div_left容器下的最后一個可移動div,  不包含當前正在移動的div元素和虛線框*/  var div_left_last=$("#div_left>div").not(div_move).not("#xuxian").filter(":last");  if(div_left_last.length>=1){  //判斷時候左邊div_left容器下時候有可移動div元素   if(_y>(div_left_last.offset().top+div_left_last.height())){   //判斷鼠標是否在左邊div_left容器最后一個元素的下邊   $("#xuxian").remove(); //如果是,移除之前添加的虛線框   div_left_last.after(xuxian);   //把虛線框添加為左邊div_left容器的最后一個子元素   $("#xuxian").css({ //設定虛線框的高和寬    width:'100%',    height:div_move_height   });   }else{   //如果鼠標不在左邊div_left容器最后一個元素的下邊,   //那么,循環判定鼠標是否進入左邊div_left容器下的可移動div元素里面    var div_left_div=$("#div_left>div").not(div_move).not("#xuxian");    for(var i=0;i<div_left_div.length;i++){    if(_y>div_left_div.eq(i).offset().top&&(_y<div_left_div.eq(i).offset().top+div_left_div.eq(i).height())){     $("#xuxian").remove();     //如果是,刪除之前添加的虛線框     div_left_div.eq(i).before(xuxian);     //把虛線框添加到當前鼠標進入的div元素的前面     $("#xuxian").css({ //設定虛線框的高和寬     width:'100%',     height:div_move_height     });     break; //退出循環    }    }   }   }else{//如果左邊div_left容器下面沒有任何可移動div元素   var div_left_div=$("#div_left>div").not(div_move).not("#xuxian");   if(div_left_div.length==0){    $("#xuxian").remove(); //移除之前添加的虛線框    $("#div_left").append(xuxian);    //把虛線框添加為左邊div_left容器的子元素    $("#xuxian").css({    width:'100%',    height:div_move_height    });   }  }  }else if(_x>center_left&&_x<(center_left+center_width)){  //判斷鼠標是否進入中間div_center容器  /*選定中間div_center容器下的最后一個可移動div,  不包含當前正在移動的div元素和虛線框*/  var div_center_last=$("#div_center>div").not(div_move).not("#xuxian").filter(":last");  if(div_center_last.length>=1){  //判斷中間div_center容器的下面時候有可移動div子元素   if(_y>(div_center_last.offset().top+div_center_last.height())){   //判斷鼠標是否在中間div_center容器的最后一個可移動div子元素的下邊   $("#xuxian").remove();   //如果是,刪除之前添加的虛線框   div_center_last.after(xuxian);   //把虛線框添加為中間div_center容器的最后一個div子元素   $("#xuxian").css({ //設定虛線框的寬和高    width:'100%',    height:div_move_height   });   }else{   //如果鼠標不在中間div_center容器最后一個可移動div子元素的下邊,   //則循環判斷鼠標進入的是哪一個iv子元素    var div_center_div=$("#div_center>div").not(div_move).not("#xuxian");    for(var i=0;i<div_center_div.length;i++){    if(_y>div_center_div.eq(i).offset().top&&(_y<div_center_div.eq(i).offset().top+div_center_div.eq(i).height())){     $("#xuxian").remove();     //找到鼠標進入的div子元素,刪除之前添加的虛線框     div_center_div.eq(i).before(xuxian);     //把虛線框添加到當前鼠標進入的div子元素的前面     $("#xuxian").css({     //設定虛線框的寬度和高度     width:'100%',     height:div_move_height     });     break; //退出循環    }    }   }   }else{   //如果中間div_center容器的中間沒有可移動的div子元素   var div_center_div=$("#div_center>div").not(div_move).not("#xuxian");    if(div_center_div.length==0){    $("#xuxian").remove();    //刪除之前添加的虛線框    $("#div_center").append(xuxian);    //把虛線框添加為中間div_center的最后一個div元素    $("#xuxian").css({    width:'100%',    height:div_move_height    });   }  }  }else if(_x>right_left&&_x<(right_left+right_width)){  //判斷鼠標是否進入右邊div_right容器  /*選定右邊div_right容器下的最后一個可移動div,  不包含當前正在移動的div元素和虛線框*/  var div_right_last=$("#div_right>div").not(div_move).not("#xuxian").filter(":last");  if(div_right_last.length>=1){  //判斷右邊div_right容器下邊是否有可移動的div子元素   if(_y>(div_right_last.offset().top+div_right_last.height())){   //判斷鼠標時候在右邊div_right容器最后一個可移動div元素的下邊   $("#xuxian").remove();   //如果是,刪除之前添加的虛線框   div_right_last.after(xuxian);   //添加虛線框為右邊div_right容器的最后一個元素   $("#xuxian").css({   //設定虛線框的寬和高    width:'100%',    height:div_move_height   });   }else{   //如果鼠標不在右邊div_right容器最后一個可移動div元素的下邊,   //則循環判斷鼠標進入到右邊div_right容器下哪個可移動div元素里面    for(var i=0;i<div_right_div.length;i++){    if(_y>div_right_div.eq(i).offset().top&&(_y<div_right_div.eq(i).offset().top+div_right_div.eq(i).height())){     $("#xuxian").remove();     //找到鼠標進入的div元素,刪除之前添加的虛線框     div_right_div.eq(i).before(xuxian);     //把虛線框添加到鼠標進入的div元素的前面     $("#xuxian").css({     //設定寬和高     width:'100%',     height:div_move_height     });     break;     //退出循環    }    }   }   }else{   //如果右邊div_right元素的下邊沒有可移動的div子元素   if(div_right_div.length==0){    $("#xuxian").remove();    //刪除之前添加的虛線框    $("#div_right").append(xuxian);    //把虛線框添加為右邊div_right容器的子元素    $("#xuxian").css({    //設定虛線框的寬和高    width:'100%',    height:div_move_height    });   }  }  } }).mouseup(function(){  mouse_down=false; //鼠標松開  $("#xuxian").before(div_move);  //將當前正在移動的div元素添加到虛線框的前面  div_move.css({  //更改正在移動div元素的position和寬  position:'static',  width:'100%'  });  $("#xuxian").remove();  //刪除虛線框  return false; }); } //]]> </script></head><body> <div id="div_width"> <div id="div_left">  <div class="can_move">  <p>音樂</p>  </div>  <div class="can_move">  <p>活動</p>  </div> </div> <div id="div_center">  <div class="can_move center_width">  <p>科技</p>  </div> </div> <div id="div_right">  <div class="can_move">  <p>新聞</p>  </div>  <div class="can_move">  <p>元素</p>  </div> </div> </div></body></html>

希望本文所述對大家的jQuery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97在线精品国自产拍中文| 国产视频欧美视频| 欧美大片在线影院| 亚洲欧美国产日韩中文字幕| 日韩毛片在线观看| 欧美大码xxxx| 久久69精品久久久久久久电影好| 久久视频精品在线| 日本一区二区在线播放| 日韩国产欧美精品一区二区三区| 92国产精品久久久久首页| 伦伦影院午夜日韩欧美限制| 亚洲欧美制服丝袜| 亚洲精品二三区| 亚洲片在线观看| 一区二区三区四区在线观看视频| 欧美激情亚洲一区| 国产一区二区三区毛片| 91精品国产免费久久久久久| 日韩在线视频观看| 96sao精品视频在线观看| 国产精品入口日韩视频大尺度| 69影院欧美专区视频| 国产亚洲aⅴaaaaaa毛片| 国产精品免费一区| 国产不卡在线观看| 欧美大成色www永久网站婷| 精品无人区乱码1区2区3区在线| 亚洲乱亚洲乱妇无码| 亚洲视频第一页| 亚洲欧美制服综合另类| 久久精品国产2020观看福利| 成人免费观看a| 欧美一级片久久久久久久| 国产成人综合av| 色综合久久久久久中文网| 亚洲网站在线看| 韩剧1988在线观看免费完整版| 色妞色视频一区二区三区四区| 欧美成人国产va精品日本一级| 精品视频—区二区三区免费| 国产精品一区二区三区毛片淫片| 欧美成人免费在线视频| 成人福利视频网| 日韩在线欧美在线| 久久久国产精品一区| 欧洲永久精品大片ww免费漫画| 日韩av在线免费观看一区| 国产精品久久久久久久天堂| 精品国产老师黑色丝袜高跟鞋| 欧美日韩裸体免费视频| 亚洲精品一区久久久久久| 亚洲成人网久久久| 日韩精品高清在线| 91国自产精品中文字幕亚洲| 97av在线视频免费播放| 精品中文字幕在线观看| 亚洲精品国产精品自产a区红杏吧| 日韩成人高清在线| 国产国语刺激对白av不卡| 亚洲深夜福利网站| 亚洲国产天堂网精品网站| 国产精品露脸av在线| 色综合久久88| 亚洲加勒比久久88色综合| 日韩欧美国产免费播放| 亚洲一区中文字幕| 91久久精品在线| 91社区国产高清| 亚洲国产中文字幕久久网| 久久视频免费观看| 国产视频精品xxxx| 国产精品自产拍在线观看| 日韩免费av一区二区| 亚洲激情 国产| 亚洲成人xxx| 欧美日韩亚洲精品内裤| 九九精品在线观看| 欧美另类在线播放| 性欧美激情精品| 亚洲国产欧美久久| 国产成人亚洲综合| 视频在线一区二区| 国内精品小视频| 欧美超级乱淫片喷水| 国产精品99蜜臀久久不卡二区| 91精品久久久久久久久久久久久久| 欧美在线一级va免费观看| 欧美亚洲成人xxx| 亚洲天堂精品在线| 国产精品视频一| 国产91网红主播在线观看| 日本sm极度另类视频| 欧美日韩激情视频| 欧美成年人视频网站| 国产一区二区三区久久精品| 亚洲免费视频一区二区| 欧美亚洲国产成人精品| 国产精品高潮视频| 日韩av一区在线| 国产亚洲精品久久| 91精品国产自产在线观看永久| 精品国内亚洲在观看18黄| 视频一区视频二区国产精品| 免费成人高清视频| 在线视频国产日韩| 国产啪精品视频网站| 久久久久久久香蕉网| 91精品国产高清| 国产va免费精品高清在线观看| 日韩欧美国产中文字幕| 欧美性xxxx极品hd满灌| 久久成人精品一区二区三区| 久久天天躁狠狠躁夜夜爽蜜月| 乱亲女秽乱长久久久| 久久在线精品视频| 日韩毛片中文字幕| 日韩欧美在线观看| 久久久女女女女999久久| 午夜精品久久久99热福利| 韩剧1988在线观看免费完整版| 亚洲小视频在线观看| 国产精品aaaa| 国产精品99久久久久久人| 欧美性高跟鞋xxxxhd| 久热99视频在线观看| 久久久精品影院| 日本精品中文字幕| 欧美精品在线极品| 日韩欧美a级成人黄色| 92看片淫黄大片欧美看国产片| 国产精品老牛影院在线观看| 一区二区三区黄色| 日韩成人网免费视频| 亚洲另类xxxx| 91爱视频在线| 91av在线不卡| 国产精品欧美一区二区三区奶水| 国产精品看片资源| 亚洲福利视频在线| 97视频在线观看网址| 久久久国产一区| 97涩涩爰在线观看亚洲| 中文字幕日韩av| 欧美床上激情在线观看| 日韩中文字幕网| 欧美剧在线观看| 日本韩国欧美精品大片卡二| 亚洲视频在线观看| 国产精品一区二区三区毛片淫片| 欧美极品少妇xxxxⅹ裸体艺术| 色妞色视频一区二区三区四区| 欧美日韩激情网| 成人免费淫片aa视频免费| 欧美日韩亚洲国产一区| 亚洲在线第一页| 久久综合色影院| 国外日韩电影在线观看| 欧美成人黑人xx视频免费观看| 久久久成人精品| 久久99国产精品自在自在app| 久久色精品视频| 国产精品海角社区在线观看| 精品久久久久久国产|