中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

javascript制作照片墻及制作過程中出現的問題
來源:易賢網 閱讀:1009 次 日期:2016-07-08 15:33:16
溫馨提示:易賢網小編為您整理了“javascript制作照片墻及制作過程中出現的問題”,方便廣大網友查閱!

本文主要做了一個照片墻,整個制作過程,主要需要解決一下幾個問題:

1、如何進行布局轉換?

2、如何對圖片進行拖拽處理?

3、如何檢測圖片碰撞問題?進行碰撞檢測

4、當多個圖片進行碰撞,如何取其中距離對象最小的物體?

5、如何將相互碰撞的兩個物體的位置相互交換?涉及到運動的類庫

代碼如下:

<html>

<head>

<style>

body{background:black;margin: 0;padding: 0;color: white;font-size: 50px;}

p{position: absolute;width:20px;margin-left: 50px;}

#ul1{width: 690px;position: relative;margin: 20px auto;}

#ul1 li{list-style: none;float: left;margin: 10px;width: 200px;height: 150px;z-index: 1;border: 5px solid white;}

#ul1 .active{border: 5px solid yellow;}

</style>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title></title>

<script src="move2.js"></script>

<script type="text/javascript">

window.onload=function ()

{

  var oUl=document.getElementById('ul1');

  var oLi=oUl.getElementsByTagName('li');

  var sTore=[];

  var i;

  var iMinZindex=2;

  //進行布局轉換

  for(i=0;i<oLi.length;i++)

  {

     sTore[i]={left:oLi[i].offsetLeft,top:oLi[i].offsetTop};//用數組存儲每個li的左邊距和高度

  }

  for(i=0;i<oLi.length;i++)

  {

     oLi[i].style.left=sTore[i].left+'px';

     oLi[i].style.top=sTore[i].top+'px';

     oLi[i].style.position='absolute';

     oLi[i].style.margin=0;

     oLi[i].index=i;

  }

  //圖片拖拽處理

  for(i=0;i<oLi.length;i++)

  {

    setDrags(oLi[i]);

  }

  function setDrags(obj)

  {

    obj.onmousedown=function(ev)

    {

       //層級問題

      obj.style.zIndex=iMinZindex++;

      var oEvent=ev||event;

      var disx=oEvent.clientX-obj.offsetLeft;

      var disy=oEvent.clientY-obj.offsetTop;

      document.onmousemove=function(ev)

      {

         

        var oEvent=ev||event;

        obj.style.left=oEvent.clientX-disx+'px';//注意加px

        obj.style.top=oEvent.clientY-disy+'px';

        for(i=0;i<oLi.length;i++)

        {

          oLi[i].className='';

        }

        var oNear=findNearest(obj);

        if(oNear)//如果是最近的那個物體

        {

          oNear.className='active';

        }

      };

      document.onmouseup=function()

      {

         document.onmousemove=null;

         document.onmousedown=null;

         //交換兩物體的位置

         var oNear=findNearest(obj);

         if(oNear)

         {

          startMove(oNear,sTore[obj.index]);

          startMove(obj,sTore[oNear.index]);

          //交換索引值

          var temp;

          temp=obj.index;

          obj.index=oNear.index;

          oNear.index=temp;

         }

         else

         {

          startMove(obj,sTore[obj.index])//回到自己的位置

         }

         return false;

      };

      clearInterval(obj.timer);

      return false;

    };

  }

//發生碰撞,使被碰的圖片加邊框,進行碰撞檢測

function IBoundTest(obj1,obj2)

{

  var l1=obj1.offsetLeft;

  var r1=obj1.offsetLeft+obj1.offsetWidth;

  var t1=obj1.offsetTop;

  var b1=obj1.offsetTop+obj1.offsetHeight;

  var l2=obj2.offsetLeft;

  var r2=obj2.offsetLeft+obj2.offsetWidth;

  var t2=obj2.offsetTop;

  var b2=obj2.offsetTop+obj2.offsetHeight;

  if(r1<l2||l1>l2||b1<t2||t1>b2)//沒有碰撞

  {

    return false;

  }

  else

  {

    return true;

  }

}

//得到兩個物體之間的距離

function getDis(obj1,obj2)

{

  var a=obj1.offsetLeft-obj2.offsetLeft;

  var b=obj1.offsetTop-obj2.offsetTop;

  return Math.sqrt(a*a+b*b);

}

//發生碰撞,當與多個碰撞時,取其距離最小的圖片

function findNearest(obj)

{

  var iMin=9999999;

  var iMindex=-1;

  var i;

  for(i=0;i<oLi.length;i++)

  {

     if(obj==oLi[i]){continue;}

     if(IBoundTest(obj,oLi[i]))//如果兩個物體碰撞上

     {

         

         var dis=getDis(obj,oLi[i]);

         if(iMin>dis)

         {

           iMin=dis;

           iMindex=i;

         }

     }

  }

  if(iMindex==-1){return null;}

  else

  {

    return oLi[iMindex];//返回最近的那個

  }

}

}

</script>

</head>

<body >

<p>照片墻</p>

<ul id="ul1">

 <li><img src="images/1.jpg"></li>

 <li><img src="images/2.jpg"></li>

 <li><img src="images/3.jpg"></li>

 <li><img src="images/4.jpg"></li>

 <li><img src="images/5.jpg"></li>

 <li><img src="images/1.jpg"></li>

 <li><img src="images/2.jpg"></li>

 <li><img src="images/3.jpg"></li>

 <li><img src="images/4.jpg"></li>

</ul>

</body>

</html>

以上就是本文的全部內容,希望對大家的學習有所幫助。

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲黄色性网站| 国产精品老牛| 欧美日韩小视频| 夜夜爽夜夜爽精品视频| 欧美午夜一区二区福利视频| 亚洲精品久久久久久久久| 欧美福利视频在线观看| 亚洲人成人一区二区在线观看| 欧美日本乱大交xxxxx| 一本色道久久88亚洲综合88| 国产欧美日韩另类视频免费观看| 久久久久网址| 一本色道88久久加勒比精品 | 国产精品视频九色porn| 欧美国产视频在线观看| 久久午夜av| 中日韩高清电影网| 一区二区三区在线免费观看| 欧美日韩国产综合在线| 欧美国产第一页| 久久久国产91| 久久国产直播| 亚洲一区欧美| 中文欧美日韩| 在线日韩中文字幕| 国产一区二区丝袜高跟鞋图片| 欧美日韩一区二区在线观看视频| 久久综合网络一区二区| 久久精品国产69国产精品亚洲| 亚洲欧美电影院| 久久精品视频免费播放| 欧美在线一区二区三区| 欧美亚洲一区| 久久成人精品一区二区三区| 午夜亚洲福利在线老司机| 欧美中文字幕在线| 久久精品免费观看| 午夜精品福利电影| 久久久久国产一区二区三区四区 | 久久精品亚洲| 欧美一区二区免费观在线| 久久久久久久一区二区| 久久综合久久久| 欧美日韩国产区| 国产欧美一区二区三区沐欲| 国内偷自视频区视频综合| 亚洲理论在线| 欧美一区二区三区免费看| 欧美wwwwww| 国产亚洲欧美中文| 一本色道久久综合狠狠躁篇的优点| 在线一区二区日韩| 免费的成人av| 国产日韩精品久久久| 夜夜嗨av一区二区三区网站四季av| 欧美中文字幕| 国产欧美一区二区精品性色| 99精品欧美| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美日韩国产探花| 亚洲精品乱码久久久久久蜜桃麻豆| 久久久99爱| 国产婷婷色一区二区三区| 在线亚洲电影| 国产精品美女| 亚洲欧美国产三级| 狠狠色狠狠色综合| 毛片一区二区| 亚洲裸体俱乐部裸体舞表演av| 欧美视频网站| 99精品久久久| 国产精品国产三级国产普通话蜜臀 | 久久久久久九九九九| 韩国av一区二区三区| 日韩午夜三级在线| 国产精品入口福利| 久久都是精品| 亚洲伦伦在线| 国产欧美精品| 蜜臀av国产精品久久久久| 夜夜嗨av色一区二区不卡| 国产精品成人免费精品自在线观看| 亚洲欧美国产日韩中文字幕| 国内精品福利| 国产精品国产三级国产| 久久精彩视频| 日韩小视频在线观看专区| 国产欧美日韩在线| 欧美精品日韩www.p站| 性伦欧美刺激片在线观看| 99re66热这里只有精品4| 国产麻豆视频精品| 欧美亚韩一区| 欧美国产综合一区二区| 久久精品成人一区二区三区蜜臀 | 欧美一区二区三区免费视| 亚洲免费av片| 亚洲片区在线| 激情欧美国产欧美| 精品动漫一区| 国产亚洲精品高潮| 欧美视频在线观看一区二区| 欧美成人在线免费观看| 蜜臀av一级做a爰片久久| 欧美一区二区视频在线观看2020 | 欧美性猛交99久久久久99按摩| 老鸭窝毛片一区二区三区| 久久久久久**毛片大全| 久久免费高清| 蜜臀91精品一区二区三区| 久久综合伊人77777| 美女黄网久久| 欧美视频日韩视频| 国产一区二区三区在线观看免费视频 | 亚洲高清视频中文字幕| 国产精品一级| 狠狠综合久久av一区二区老牛| 在线不卡中文字幕| 9色国产精品| 在线综合视频| 欧美另类极品videosbest最新版本| 国产精品乱人伦一区二区| 一区二区在线看| 亚洲专区免费| 欧美视频日韩| 亚洲综合不卡| 国产精品乱人伦中文| 一区二区三区 在线观看视频| 久久久久久亚洲精品杨幂换脸| 国产精品老牛| 欧美在线亚洲一区| 亚洲第一在线综合在线| 午夜精品www| 国产日韩欧美自拍| 欧美一区二区三区在线播放| 久久综合精品国产一区二区三区| 欧美另类高清视频在线| 国产三级欧美三级日产三级99| 亚洲国产精品视频| 先锋资源久久| 国产精品成人免费| 欧美日韩三区| 亚洲春色另类小说| 国内精品视频在线观看| 亚洲大片在线观看| 99re6这里只有精品| 在线观看91精品国产入口| 亚洲一卡久久| 国产精品久久久亚洲一区| 亚洲精品网站在线播放gif| 久久色中文字幕| 伊人激情综合| 久久久久国产精品一区二区| 国产日本欧美在线观看| 久久精品观看| 黑人巨大精品欧美一区二区| 欧美一区二区成人6969| 国产精品成人观看视频免费| 亚洲国产日本| 欧美国产精品中文字幕| 欧美日韩国产色综合一二三四| 一区二区日本视频| 欧美福利视频在线| 亚洲精品一级| 欧美日韩一卡二卡| 亚洲欧美日韩一区在线观看| 欧美精品日韩精品| 亚洲制服av| 在线不卡免费欧美| 欧美性大战久久久久久久| 欧美亚洲一区二区在线| 亚洲福利精品| 国产亚洲欧美一区| 欧美午夜精品| 免播放器亚洲| 亚洲高清一二三区| 欧美日韩在线免费| 久久精品国产久精国产爱| 亚洲人成77777在线观看网| 欧美亚洲三区| 野花国产精品入口| 又紧又大又爽精品一区二区| 国产精品狠色婷| 亚洲在线一区| 亚洲国产精品视频| 狠狠色狠狠色综合日日91app| 国产精品人人做人人爽| 欧美成年视频| 激情国产一区二区| 久久这里有精品视频| 国产精品亚洲视频| 国产午夜精品在线观看| 亚洲丰满在线| 一区二区三区回区在观看免费视频| 亚洲免费电影在线| 国产精品国产三级国产| 国产精品日本一区二区| 黑人巨大精品欧美黑白配亚洲| 影音先锋日韩精品| 一区二区三区成人|