2017-07-24 49 views
0

我仍然在试图去与jQuery交手,想要创造什么本质上是一个简单的REALLLY“游戏”添加不同的链接为Javascript创建的元素

的想法是有一堆对运动图像的背景和每个图像将链接到一个单独的网页。

但我正在努力寻找一种方法,使每个单独的运动图像有不同的超链接。

这是我JS那么远,

  $(document).ready(function() { 
      newDiv(); 
      newDiv(); 
      newDiv(); 
      newDiv(); 
      newDiv(); 
      newDiv(); 
     }); 

     function newDiv() { 
      var $div = $("<div class='a'><a href='https://soundcloud.com/alcopop/sets/tellison-live-on-the-alcopopacruiser/s-hjXnt'>"); 
      $(".animatedDivs").append($div); 
      animateDiv(); 



      function animateDiv() { 
       var newq = makeNewPosition(); 
       var oldq = $div.offset(); 
       var speed = calcSpeed([oldq.top, oldq.left], newq); 

       $div.animate({ 
        top: newq[0], 
        left: newq[1] 
       }, speed, function() { 
        animateDiv(); 
       }); 

      }; 
     } 

     function makeNewPosition() { 

      // Get viewport dimensions (remove the dimension of the div) 
      var h = 500-80; 
      var w = $(window).width() - 80; 

      var nh = Math.floor(Math.random() * h); 
      var nw = Math.floor(Math.random() * w); 

      return [nh, nw]; 

     } 

     function calcSpeed(prev, next) { 

      var x = Math.abs(prev[1] - next[1]); 
      var y = Math.abs(prev[0] - next[0]); 

      var greatest = x > y ? x : y; 

      var speedModifier = .4; 

      var speed = Math.ceil(greatest/speedModifier); 

      return speed; 

     } 

到什么我到目前为止已经做了链接...

https://jsfiddle.net/5vgtx2d3/2/

任何帮助将不胜感激。

回答

0

如果你想打电话newDiv()的链接,你可以这样做:

function newDiv(newLink) { 
     var $div = "<div class='a'><a href='" + newLink + "'>"; 
     $(".animatedDivs").append($div); 
     animateDiv(); 
     .... 
    } 
0

您可以尝试通过链接作为参数在newDiv()函数

newDiv('your link'); 

然后你就可以像这样使用它

function newDiv(link) { 
      var $div = $("<div class='a'><a href='"+link+"'>"); 
      $(".animatedDivs").append($div); 
      animateDiv(); 



      function animateDiv() { 
       var newq = makeNewPosition(); 
       var oldq = $div.offset(); 
       var speed = calcSpeed([oldq.top, oldq.left], newq); 

       $div.animate({ 
        top: newq[0], 
        left: newq[1] 
       }, speed, function() { 
        animateDiv(); 
       }); 

      }; 
     } 
相关问题