1

このウェブサイトの大部分のページの右側の列にティッカーを作成しようとしました: http://www.black-kite.co.uk/services [例]。

部分的に動作します。何らかの理由で、ティッカーが最後のアイテムの下部に到達せず、回転が停止します。無限ループで回転させたい。

使用した jquery は次のとおりです。

$(function() {  

  //cache the ticker  
  var ticker = $("#ticker");  

  //wrap dt:dd pairs in divs  
  ticker.children().filter("dt").each(function() {  

    var dt = $(this),  
      container = $("<div>");  

    dt.next().appendTo(container);  
    dt.prependTo(container);            
    container.appendTo(ticker);  
  });  

  //hide the scrollbar  
  ticker.css("overflow", "hidden");  

  //animator function  
  function animator(currentItem) {  

    //work out new anim duration  
    var distance = currentItem.height(),  
    duration = (distance - Math.abs(parseInt(currentItem.css("marginTop")))) / 0.025;  

    //animate the first child of the ticker  
    currentItem.animate({ marginTop: -distance }, duration, "linear", function() {  

      //move current item to the bottom     
      currentItem.appendTo(currentItem.parent()).css("marginTop", 0);  

    //recurse  
    animator(currentItem.parent().children(":first"));  
    });   
  };  

  //start the ticker  
  animator(ticker.children(":first"));  

  //set mouseenter  
ticker.mouseenter(function() {  

  //stop current animation  
  ticker.children().stop();  

});  

//set mouseleave  
ticker.mouseleave(function() {  

  //resume animation  
  animator(ticker.children(":first"));  
});  

});  

jsfiddle も作成しました: http://jsfiddle.net/BsjpV/

私はjquery/javascriptタイプのものを学んでいるだけです! ありがとうございました!

4

1 に答える 1

1

うっかりコメントアウトされたコード行が問題の原因でした...

于 2013-06-29T14:32:35.983 に答える