2013-04-08 32 views
0

我有jQuery代碼是這樣的:jQuery的進入頁面,而不動畫

var pageWidth = 230; 
var sliderStartPosition = 0; 
var sliderPageWidth = pageWidth; 

function goToPage(slideNum){ 
    var offset = (slideNum-1) * sliderPageWidth; 
    $('#js_slides').animate({left:'-'+offset+'px'}, 500, function(){ 
     $('#js_slides li').each(function(){ this.scrollTop = 0; }); 
    }); 
    return false; 

} 

function goToPageWithoutAnimation(slideNum){ 
    var offset = (slideNum-1) * sliderPageWidth; 
    //code here 
} 

這是CSS:

div.sliderContainer { 
    width: 230px; /*width of one page to slide*/ 
    overflow: hidden; 
} 

div.sliderContainer ul { 
    position: relative; 
    width: 690px; 
    list-style: none; 
    list-style-type: none; 
    margin: 0px; 
    padding: 0px; 
} 

div.sliderContainer ul li{ 
    float: left; 
    width: 210px; 
    height: 380px; 
    overflow: auto; 
    padding: 10px; 
} 

我需要你的幫助,如何去頁沒有動畫。 請幫助我。

+0

你需要發佈HTML和這樣一個例子的jsfiddle將是有益的。 – j08691 2013-04-08 17:27:12

+0

如果您將動畫時間(當前= 500ms)縮短爲零,是否會產生您想要看到的結果? – 2013-04-08 17:29:10

+0

感謝@DavidTansey它的工作原理 – yozawiratama 2013-04-08 17:47:52

回答

2

css更換animate

$('#js_slides').css({left:'-'+offset+'px'}); 
$('#js_slides li').each(function(){ this.scrollTop = 0; }); 
0

可以使用css代替animate

$('#js_slides').css({left:'-'+offset+'px'}); 
$('#js_slides li').each(function(){ this.scrollTop = 0; }); 
0

如果你想保留你的代碼(而不是採用另一種方法),那麼你可以縮短動畫時間(當前= 500ms)到零,這將產生你想看到的結果。

像這樣:

$('#js_slides').animate({left:'-'+offset+'px'}, 0, function(){ 
     $('#js_slides li').each(function(){ this.scrollTop = 0; }); 
    });