我走到這一步,這樣的代碼:JQuery的fadeTo()
$(window).scroll(function() {
if ($(this).scrollTop() > 400) {
$(".top-bg").fadeTo("slow", 0.99);
}
的想法是低透明度菜單,當我向下滾動,它消失在,但問題是,我不能把它帶回來到低透明度(0.7),當我滾動回< 400.
我一直在四處搜尋,我沒有找到我的解決方案。
有什麼想法?
在此先感謝。
我走到這一步,這樣的代碼:JQuery的fadeTo()
$(window).scroll(function() {
if ($(this).scrollTop() > 400) {
$(".top-bg").fadeTo("slow", 0.99);
}
的想法是低透明度菜單,當我向下滾動,它消失在,但問題是,我不能把它帶回來到低透明度(0.7),當我滾動回< 400.
我一直在四處搜尋,我沒有找到我的解決方案。
有什麼想法?
在此先感謝。
那裏有幾個問題。首先,你永遠不會檢查scrollTop
是否爲<= 400
,所以當然不會返回。
第二個是,即使您使用的是代碼,即使已經是> 400
,您也會不斷重新應用fadeTo
,任何時候窗口都會滾動。
var fadedIn = false;
$(window).scroll(function() {
var thisScroll = $(this).scrollTop();
if (thisScroll > 400 && !fadedIn) {
$(".top-bg").fadeTo("slow", 0.99);
// Or with a stop: $(".top-bg").stop().fadeTo("slow", 0.99);
fadedIn = true;
} else if (thisScroll <= 400 && fadedIn) {
$(".top-bg").fadeTo("slow", 0.7);
// Or with a stop: $(".top-bg").stop().fadeTo("slow", 0.7);
fadedIn = false;
}
});
這就是我正在尋找的。謝謝 – azhpo 2014-09-25 12:38:11
@ user1879457:很高興幫助。在每個'.fadeTo'之前,你可能需要一個'.stop()'。 – 2014-09-25 13:08:54
嘗試這樣
$(window).scroll(function() {
if ($(this).scrollTop() > 400) {
$(".top-bg").fadeTo("slow", 0.99);
}else if($(this).scrollTop() <= 400)
{
$(".top-bg").fadeTo("slow", 0.7);
}
什麼會不斷重新觸發適當的淡入淡出。 – 2014-09-25 13:03:56
寫多了一個條件,如果<400那麼不透明度你想要什麼。 – Gowri 2014-09-25 12:30:47
而且每當窗口滾動時(您當前),您都不想重複'fadeTo',但只有當它從* <= 400' to '> 400'穿過邊界*或返回。 – 2014-09-25 12:31:25
如果以下答案中的任何一個*回答了您的問題,那麼您將通過單擊旁邊的複選標記來「接受」答案;更多:http://stackoverflow.com/help/someone-answers但只有當你的問題是真的回答。 – 2014-09-25 13:09:46