Maison >interface Web >js tutoriel >js implémentation de la fonction de mur de photos example_javascript skills

js implémentation de la fonction de mur de photos example_javascript skills

WBOY
WBOYoriginal
2016-05-16 16:15:391908parcourir

L'exemple de cet article décrit comment implémenter la fonction de mur de photos dans js. Partagez-le avec tout le monde pour votre référence. La méthode de mise en œuvre spécifique est la suivante :

Copier le code Le code est le suivant :


   
       
        js照片墙
       
       
       
       
       
       
       
        <script><br>         /*<br>             var arr=['a','b','c','d','e','d','f'];<br>             var pos = arr.lastIndexOf('d');<br>             alerte(pos);<br>             */<br>             window.onload=function(){<br>                 var aLi = document.querySelectorAll('li');<br>                 var oInput =  document.querySelector('#btn');<br>                 var pos = [];<br>                 var len= aLi.longueur;<br>                 var izIndex= 2;<br>                 //布局转换<p>                pour(var i=0;i<len;i ){<br />                     pos.push([aLi[i].offsetLeft,aLi[i].offsetTop]);<br />                 ><br />                 pour(var i=0;i<len;i ){<br />                     aLi[i].style.left=pos[i][0] 'px';<br />                     aLi[i].style.top=pos[i][1] 'px';<br />                     aLi[i].style.position = 'absolu';<br />                     aLi[i].style.margin = '0px';<br />                 ><br />                 pour(var i=0;i<len;i ){<br />                      aLi[i].index = je;<br />                      setDrag(aLi[i]);<br />                 } <br />                 oInput.onclick=function(){<br />                     var randomArr = [0,1,2,3,4,5,6,7,8];<br />                     randomArr.sort(function(num1,num2){<br />                         return Math.random()-0.5;<br />                     })<br />                     pour(var i=0;i<len;i ){<br />                         //增加随机位置的情况<br />                        startMove(aLi[i],{left:pos[randomArr[i]][0],top:pos[randomArr[i]][1]});<br />                        //修正索引<br />                        aLi[i].index = randomArr[i];<br />                     } <br />                 ><br />                 //拖拽<br />                 fonction setDrag(obj){<br />                     obj.onmousedown =fonction(ev){<br />                         izIndex ;<br />                         obj.style.zIndex= izIndex;<br />                         var ev = ev || événement ;<br />                         var disX = ev.clientX - obj.offsetLeft;<br />                         var disY = ev.clientY - obj.offsetTop;<br />                         document.onmousemove=function(ev){<br />                            var ev = ev || événement ;<br />                             obj.style.left =  ev.clientX-disX 'px';<br />                             obj.style.top =  ev.clientY - disY 'px';<br />                             pour(var i=0; i<len; i ){<br />                                 aLi[i].style.border='none';<br />                             } <br />                             var nL = procheLi(obj); <br />                             si(nL){<br />                                 nL.style.border='2px rouge uni';<br />                             }                          <br />                         ><br />                         document.onmouseup= function(){<br />                             document.onmousemove = null;<br />                             document.onmouseup = null;<br />                             var nL = procheLi(obj); <br />                             si(nL){<br />                                 nL.style.border='2px rouge uni';<br />                                 startMove(obj,{left:pos[nL.index][0],top:pos[nL.index][1]});<br />                                 startMove(nL,{left:pos[obj.index][0],top:pos[obj.index][1]});<br />                                 var tmp =nL.index;<br />                                 nL.index = obj.index;<br />                                 obj.index = tmp;<br />                                 nL.style.border='';<br />                             }autre{<br />StartMove(obj,{left:pos[obj.index][0],top:pos[obj.index][1]});<br />                                                                                                                                                                                                }                                                                                              return false ;                  }<br />                 }<br /> //Détecter s'il y a une collision<br />                     la fonction isDump(obj1,obj2){<br />                     var l1= obj1.offsetLeft;<br />                     var r1= l1 obj1.offsetWidth;<br />                   var t1= obj1.offsetTop;<br />                     var b1 =obj1.offsetHeight t1;<br /><p> var l2= obj2.offsetLeft;<br />                     var r2= l2 obj2.offsetWidth;<br />                        var t2= obj2.offsetTop;<br />                     var b2 =obj2.offsetHeight t2;<br /> Si(b2<t1 || l2>r1 || r2<l1 || t2>b1){<br>                                                                                              return false ;                        }autre{<br>                                   return true ;<br>                  }<br>                 }<br> //Trouver le nœud le plus proche<br> fonction près deLi(obj){<br>                   var index= -1;<br>                  valeur var =9999;<br> pour(var je=0; je<len; je){<br> Si(isDump(obj,aLi[i]) && obj !=aLi[i]){<br>                                                 var c = getDis(obj,aLi[i]);<br> Si(c <valeur){<br>                                                valeur = c; indice = je;<br>                                                                                                    }                                                                                                           }                                                                                                                                                                              Si(index !=-1){<br> Retourner aLi[index];<br>                        }autre{<br>                                                                                              return false ;                  }<br>                 }<br>                     fonction getDis(obj1,obj2){<br>                     var x = obj1.offsetLeft - obj2.offsetLeft;<br>                        var y = obj1.offsetTop - obj2.offsetTop;<br> Retour Math.sqrt(Math.pow(x,2) Math.pow(y,2));<br>                ><br>             ><br>         </script>
   

   
    clic
       

               

  •            

  •            

  •            

  •            

  •            

  •            

  •            

  •            

  •        

   
 

希望本文所述对大家的javascript程序设计有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn