2013-12-16 52 views
2

我嘗試使用以下圖書館的方向:無法更改新聞股票

liScroll(jQuery的新聞速遞輕鬆)1.0(Demo

我把它放在我的網站和它的工作完美,但只有RTL方向, 問題是,我無法將其更改爲從左向右滾動。我試圖更改JavaScript文件,但它不起作用。 這裏是我的代碼:

jQuery.fn.liScroll = function(settings) { 
    settings = jQuery.extend({ 
    travelocity: 0.07 
    }, settings);  
    return this.each(function(){ 
      var $strip = jQuery(this); 
      $strip.addClass("newsticker") 
      var stripWidth = 1; 
      $strip.find("li").each(function(i){ 
      stripWidth += jQuery(this, i).outerWidth(true); // thanks to Michael Haszprunar and Fabien Volpi 
      }); 
      var $mask = $strip.wrap("<div class='mask'></div>"); 
      var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>");        
      var containerWidth = $strip.parent().parent().width(); //a.k.a. 'mask' width 
      $strip.width(stripWidth);   
      var totalTravel = stripWidth+containerWidth; 
      var defTiming = totalTravel/settings.travelocity; // thanks to Scott Waye  
      function scrollnews(spazio, tempo){ 
      $strip.animate({left: '-='+ spazio}, tempo, "linear", function(){$strip.css("left", containerWidth); scrollnews(totalTravel, defTiming);}); 
      } 
      scrollnews(totalTravel, defTiming);    
      $strip.hover(function(){ 
      jQuery(this).stop(); 
      }, 
      function(){ 
      var offset = jQuery(this).offset(); 
      var residualSpace = offset.left + stripWidth; 
      var residualTime = residualSpace/settings.travelocity; 
      scrollnews(residualSpace, residualTime); 
      });   
    });}; 

也許我還需要更改CSS代碼?

+0

Java和JavaScript是兩種截然不同的語言,您在這裏展示的是JavaScript,這就是我刪除Java標籤的原因。 – fvu

+1

對不起,這個錯誤:( –

+1

你有沒有試過一個負值的Travelocity? – BuysDB

回答

0

我想我明白了:

jQuery.fn.liScroll2 = function(settings) { 
     settings = jQuery.extend({ 
     travelocity: 0.07 
     }, settings);  
     return this.each(function(){ 
       var $strip = jQuery(this); 
       $strip.addClass("newsticker") 
       var stripWidth = 1; 
       $strip.find("li").each(function(i){ 
       stripWidth += jQuery(this, i).outerWidth(true); // thanks to Michael Haszprunar and Fabien Volpi 
       }); 
       var $mask = $strip.wrap("<div class='mask'></div>"); 
       var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>");        
       var containerWidth = $strip.parent().parent().width(); //a.k.a. 'mask' width 
      $strip.css("left", -containerWidth); 
       $strip.width(stripWidth);   
       var totalTravel = stripWidth+containerWidth; 
       var defTiming = totalTravel/settings.travelocity; // thanks to Scott Waye  
       function scrollnews(spazio, tempo){ 
       $strip.animate({left: '-='+ spazio}, tempo, "linear", function(){$strip.css("left", -containerWidth); scrollnews(totalTravel * -1, defTiming);}); 
       } 
       scrollnews(totalTravel, defTiming);    
       $strip.hover(function(){ 
       jQuery(this).stop(); 
       }, 
       function(){ 
       var offset = jQuery(this).offset(); 
       var residualSpace = offset.left + stripWidth; 
       var residualTime = residualSpace/settings.travelocity; 
       scrollnews(residualSpace * -1, residualTime); 
       });   
     }); 
}; 

我不得不帶的起始位置更改爲負值,並通過-1乘以totalTravel

在這裏看到一個例子:http://jsfiddle.net/9Tkj2/2/

1

演示:here

更新HTML像這樣:

<ul id="ticker01" style="left: -700px"> 
    <li><span>10/10/2007</span><a href="#">The first thing ...</a></li> 
    <li><span>10/10/2007</span><a href="#">End up doing is ...</a></li> 
    <li><span>10/10/2007</span><a href="#">The code that you ...</a></li> 
    <!-- eccetera --> 
</ul> 

而像這樣的JS:

jQuery.fn.liScroll = function(settings) { 
    settings = jQuery.extend({ 
     travelocity: 0.07 
    }, settings); 
    return this.each(function() { 
     var $strip = jQuery(this); 
     $strip.addClass("newsticker") 
     var stripWidth = 1; 
     $strip.find("li").each(function(i) { 
      stripWidth += jQuery(this, i).outerWidth(true); // thanks to Michael Haszprunar and Fabien Volpi 
     }); 
     var $mask = $strip.wrap("<div class='mask'></div>"); 
     var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>"); 
     var containerWidth = $strip.parent().parent().width(); //a.k.a. 'mask' width 
     $strip.width(stripWidth); 
     var totalTravel = stripWidth + containerWidth; 
     var defTiming = totalTravel/settings.travelocity; // thanks to Scott Waye 

     function scrollnews(spazio, tempo) { 
      $strip.animate({ 
       left: '+=' + spazio 
      }, tempo, "linear", function() { 
       $strip.css("left", -stripWidth); 
       scrollnews(totalTravel, defTiming); 
      }); 
     } 
     scrollnews(totalTravel, defTiming); 
     $strip.hover(function() { 
       jQuery(this).stop(); 
      }, 
      function() { 
       var offset = jQuery(this).offset(); 
       var residualSpace = offset.left + stripWidth; 
       var residualTime = residualSpace/settings.travelocity; 
       scrollnews(residualSpace, residualTime); 
      }); 
    }); 
}; 

演示:here