2013-11-20 2 views
0

Я хочу, чтобы div перемещался со свитком. Он должен проходить параллельно с прокруткой. Я создал функцию, которая плавает над div, но она не параллельна прокрутке. fiddleПлавающий элемент с прокруткой с помощью jquery

$(window).scroll(function(){ 
    var offset=$('div').offset().top 
    var top= $(window).scrollTop(); 
    var height= offset- top; 
    console.log(offset + 'offset') 
    console.log(top + 'top') 
    console.log(height); 

    if(top>57){ 
    $('div').animate({top:top},100) 
    } 

    //console.log($('div').offset().top) 

}) 

ответ

0

Try This

var offset = $("div").offset(); 
     var topPadding = 75; 
     $(window).scroll(function() { 
      if ($(window).scrollTop() > offset.top) { 
       $("div").stop().animate({ 
        marginTop: $(window).scrollTop() - offset.top + topPadding 
       }); 
      } else { 
       $("div").stop().animate({ 
        marginTop: 0 
       }); 
      }; 
     }); 
+0

Это не параллельно с свитком – Carlos

+0

Может ли вы попробовать его в коде сайта , –

0

Я нашел ответ, проблема "позиция: исправлена". Теперь я использую «position: absolute», и он работает нормально. Положение фиксируется взятие координат из браузера верхних и позиции абсолютных взять координаты из документа верхней

код

var offset; 
$(function(){ 
offset=$('div').offset().top 
}) 

$(window).scroll(function(){ 
    var top= $(window).scrollTop()+50; 
console.log(top + 'top')  
    $('div').animate({top:top},50)  
}) 

fiddle demo

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