2013-12-09 2 views
2

Я работаю на небольшом веб-сайте, и я хочу, чтобы он прокручивался и зацикливался как вверх, так и вниз.Бесконечный Свиток в обе стороны

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

$(document).ready(function(){ 
     $(window).scroll(function() { 
      if ($(window).scrollTop() >= ($('body').height() - $(window).height())) { 
       $(window).scrollTop(1); 
      } 
      else if ($(window).scrollTop() == 0) { 
       $(window).scrollTop($('body').height() - $(window).height() -1); 
      }  
     }); 
    }); 

http://jsfiddle.net/2LDFA/

Моя проблема в том, что нет никакого перехода, этот метод работает только в случае, если содержание в верхней и нижней части точно так же.

Любые идеи, как я могу добавить один и тот же div сверху и снизу каждый раз, когда пользователь достигает конца?

ответ

3

Вот рабочая скрипку: http://jsfiddle.net/2L23c/

А вот JavaScript:

(function($){ 
    $(document).ready(function(){ 
     var html = $(".what").html(); 
     var what = '<div class="what">'+html+'</div>'; 
     $(window).scrollTop(1); 
     $(window).scroll(function() { 
      if ($(window).scrollTop() >= ($('body').height() - $(window).height())) { 
       $(".what").last().after(what); 
       if ($(".what").length > 2) { 
        $(".what").last().prev().remove(); 
        $(window).scrollTop($(window).scrollTop() - $(".what").first().height()); 
       } 
      } 
      else if ($(window).scrollTop() == 0) { 
       $(".what").first().before(what); 
       $(window).scrollTop($(".what").first().height()); 
       if ($(".what").length > 2) { 
        $(".what").last().remove(); 
       } 
      }  
     }); 
    }); 
})(jQuery); 
+0

работает как шарм. Спасибо, сэр! – INC

+0

@user Уверенная вещь :) – Leng

+0

еще один вопрос: можно ли клонировать содержимое div и вставлять его в существующий div без элемента div? – INC

0

Хорошо, если вы используете jquery, вы можете легко перемещать div на странице довольно легко, используя insertAfter или тому подобное. Когда вы дойдете до низа, возьмите первый div на странице и переместите его вниз вправо после последнего. Есть какая-то интересная и небольшая работа, которая должна быть выполнена, чтобы убедиться, что вы всегда получаете правильную, но она должна быть полностью выполнимой.

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