2012-10-20 142 views
1

我堅持這一點,希望你們中的任何人都能幫助我。使用scrollTop()向下滾動時的DIV位置更改; - jQuery

我有這樣的HTML:

<body> 
    <div id="one"></div> 
    <div id="two"></div> 
    <div id="three"></div> 
<body> 

有了這個CSS:

#one, #two, #three { 
    width: 100%; 
    height: auto; 
} 

這jQuery的:

$(window).scroll(function(){ 
var y = $(window).scrollTop(); 
var one = $('#one').height(); 
var two = $('#two').scrollTop(); 
var three = $('#three').scrollTop(); 

var pos_one = 310; 
var pos_two = 454; 
var pos_three = 596; 

if(y > one){ 
    $("#header").fadeIn(200); 
} else { 
    $('#header').fadeOut(200); 
} 

if((y > one) && (y < two)) { 
    $('.bubble').animate({ 
     "left" : pos_two + "px" 
    }, 300); 
} 

if((y > two) && (y < three)) { 
    $('.bubble').animate({ 
     "left" : pos_three + "px" 
    }, 300); 
} 
}); 

所以,#header是,當我到達#two褪色,這是加工。我遇到的問題是當滾動時到達其他部分時,.bubblediv不動。

我在做什麼錯?任何幫助將非常感激!

+1

您還沒有解釋所需的輸出應該是什麼。 – Sparky

+0

您應該檢查滾動事件觸發的次數。也許你看到的問題是由動畫觸發數百次造成的 –

回答

0

只需使用overflow property

只包括溢出:隱藏你的CSS是這樣的....內

#one, #two, #three { 
    width: 100%; 
    height: auto; 
    overflow:hidden; 
} 

你可以使用屬性值根據自己的需要。這裏是參考鏈接overflow property link

讓我知道它會幫助你嗎?

+0

對不起,如果我對我的解釋不夠清楚。當我向下滾動瀏覽網站的不同部分(#one,#two,#three)時,我需要的是一個div(例如.bubble)在菜單中向右移動。看起來發生的是,我在js文件中設置的一,二,三個變量沒有被更新或者什麼。 – McEnroe

+0

溢出隱藏沒有任何區別:( – McEnroe

+0

這些信息不足以理解你實際需要什麼,你可以添加你的整體結構或你需要的圖像。 –

相關問題