2013-09-14 2 views
0

Я пытаюсь создать галерею изображений для прокрутки с помощью кнопок вверх/вниз. Пока я иду анимацию, но теперь мне нужно остановить ее на первом и последнем изображении.Остановить .animate() на последнем изображении

Это то, что я до сих пор, jsfiddle.net/sJDMq/47 (не против кнопок, мне еще нужно работать на них, но они есть, верхние и нижние красные коробки)

Спасибо!

$(document).ready(function() { 

    $(".down_button").click(function() {  
     $(".scroll-products").animate({marginTop: '-=700px'}, 300); 
    }); 

    $(".up_button").click(function() { 
     $(".scroll-products").animate({ marginTop: '+=700px' }, 300); 
    }); 
}); 
+0

Используйте инструкцию 'if'. 'if (! $ ('. scroll-products'). css (" margin-top ")> max)' –

ответ

0

Я бы не сделал это так, но только собираюсь с тем, что вы начали с я бы просто позволить этому JS сделать трюк:

$(document).ready(function(){ 
    var curIndex = 0; 
    var height = 700; 
    var maxHeight = 0; 
    var allImages = document.getElementsByClassName("sidebar_images"); 
    for(var i=0; i<allImages.length; i++) { 
    maxHeight += allImages[i].offsetHeight; 
    } 
    var maxIndex = Math.ceil(maxHeight/height); 

    $(".down_button").click(function() { 
    if(curIndex < maxIndex) { 
     $(".scroll-products").animate({marginTop: '-='+height+'px'}, 300); 
     curIndex++; 
    } 
    }); 
    $(".up_button").click(function() { 
    if(curIndex > 0){ 
     $(".scroll-products").animate({ marginTop: '+='+height+'px' }, 300); 
     curIndex--; 
    } 
    }); 
}); 

Я только что обновил свою скрипку here.

+0

У вас есть вопросы о моем коде? Помогает ли это? Если он не даст вам то, что вы ищете, я могу помочь вам дальше. Если это так, вы можете это принять? – DutGRIFF

+0

Привет, ну, я не хочу использовать высоту var, потому что я планирую использовать это для большего количества галерей, и надеялся, что у меня будет последнее изображение внизу дэва (без отображения всего красного пространства) , Я нашел это http://www.smoothdivscroll.com/, но я действительно не хочу, чтобы он был настолько сложным. Какие-либо предложения? возможно, некоторые ссылки? –

+0

Я мог бы переписать код, чтобы включить некоторые функции для этого поведения. Но это только я пишу код для вас и не отвечаю на программный вопрос. Я не знаю ни малейшей возможности. Если моя девушка не заставит меня смотреть телевизор, вы можете увидеть обновленный код, но просто осмотрите небольшую библиотеку. Google - ваш друг. – DutGRIFF

Смежные вопросы