2013-04-08 5 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

+0

Если вы уменьшите время анимации (в настоящее время = 500 мс) до ZERO, это приведет к результату, который вы хотите увидеть? –

+0

спасибо @DavidTansey, он работает – yozawiratama

ответ

2

Заменить animate с css:

$('#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

Если вы хотите сохранить код у вас есть (а не принимать альтернативный подход), то вы может сократить время анимации (в настоящее время = 500 мс) до ZERO, что приведет к результату, который вы хотите увидеть.

Как это:

$('#js_slides').animate({left:'-'+offset+'px'}, 0, function(){ 
     $('#js_slides li').each(function(){ this.scrollTop = 0; }); 
    }); 
Смежные вопросы