2015-08-12 3 views
1

У меня есть этот сайт:Как я могу остановить это событие от стрельбы?

link

В правой боковой панели, вы увидите, что последний элемент работает с прокруткой.

Проблема в том, что это не останавливается ... идите ко дну всех.

enter image description here

Я попробовал эту функцию, чтобы выполнить задачу

КОД JS:

var aux=0; 
    $("#text-3").addClass("follow-scroll"); 
    var _footerH=$("#footer-container").outerHeight(); 
    var _docH=$(document).height(); 
    var _scrollP= $(window).scrollTop(); 
    console.log("pozitie scroll",_scrollP); 
    console.log("inaltime footer",_footerH); 
    console.log("inaltime document HTML",_docH); 
    var element = $('.follow-scroll'), 
     originalY = element.offset().top; 
     var topMargin = 20; 
    element.css('position', 'relative'); 

    $(window).on('scroll', function(event) { 
     var scrollTop = $(window).scrollTop(); 
     console.log(scrollTop); 
     console.log("originalY:",originalY); 
     console.log("Scrolltop:",scrollTop); 
     console.log("topMargin:",topMargin); 

     var y = scrollTop - originalY + topMargin; 

     if(scrollTop < originalY) { 

      console.log("nu s-a declansat evenimentul"); 

     }else { 
     //aici trebe adaugat top la div 
     aux=scrollTop - originalY + topMargin 
     $('.follow-scroll').css('top', aux); 
     if(scrollTop>6000) 
     { 
      var _div = $(".follow-scroll"); 
      var position = _div.position(); 
      var top2=aux; 
      //aici trebuie sa primeasca ultimul top 
      $('.follow-scroll').css('top', aux); 
     } 
     } 


    // top=aux; 
    // console.log("top_nou:",aux); 


    }); 

Можете ли вы помочь мне решить эту проблему? Как я могу остановить этот элемент в какой-то момент?

Заранее благодарен!

ответ

1

Попробуйте изменить код этого

var aux = 0; 
$("#text-3").addClass("follow-scroll"); 
var _footerH = $("#footer-container").outerHeight(); 
var _docH = $(document).height(); 
var _scrollP = $(window).scrollTop(); 
console.log("pozitie scroll", _scrollP); 
console.log("inaltime footer", _footerH); 
console.log("inaltime document HTML", _docH); 
var element = $('.follow-scroll'), 
    originalY = element.offset().top; 
var topMargin = 20; 
element.css('position', 'relative'); 

$(window).on('scroll', function (event) { 
    var scrollTop = $(window).scrollTop(); 
    console.log(scrollTop); 
    console.log("originalY:", originalY); 
    console.log("Scrolltop:", scrollTop); 
    console.log("topMargin:", topMargin); 

    var y = scrollTop - originalY + topMargin; 

    if (scrollTop < originalY) { 
     console.log("nu s-a declansat evenimentul"); 
    } else { 
     //aici trebe adaugat top la div 
     aux = scrollTop - originalY + topMargin 
     if (scrollTop > 6000) { 
      var _div = $(".follow-scroll"); 
      var position = _div.position(); 
      var top2 = aux; 
      //aici trebuie sa primeasca ultimul top 
     }else{ 
      $('.follow-scroll').css('top', aux); 
     } 
    } 
}); 

Вы заметите, что вы должны установить только $('.follow-scroll').css('top', aux); если scrollTop <= 6000 в противном случае оставьте его там, где это

+0

Я изменил код (вы можете проверить, чтобы увидеть), но к сожалению ничего не изменилось – cristi

+0

Извините, я что-то пропустил ... теперь я останавливаюсь после 6000px – cristi

+0

Любая идея, как я мог остановить этот элемент footer, исправленный раньше? Теперь я поставил оценку ... но должен остановиться перед нижним колонтитулом. Какими будут функциональные алгоритмы? – cristi

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