2015-10-05 56 views
1

我面對窗口滾動功能中的一些問題if...elsejQuery的窗口滾動....如果別人

它只有通過SCROLL END 1猶豫。

任何人都可以告訴我我做錯了或建議我做得更好。非常感謝

$(window).scroll(function() { 
     var scrollend = 1250; 
     var second_scrollend = 4500; 
     if ($(window).scrollTop() + $(window).height() >= scrollend) { 
      console.log("SCROLL END 1"); 
      $("#sidepanel").css({ 'position': 'fixed', 'bottom': '10px', 'width': '300px' }); 
     } else if ($(window).scrollTop() + $(window).height() >= second_scrollend) { 
      console.log("SCROLL END 2"); 
      $("#sidepanel").css({ 'position': 'fixed', 'bottom': marginbottom + 'px', 'width': '300px' }); 
     } else { 
      $("#sidepanel").css({ 'position': 'relative', 'bottom': '0px', 'width': 'auto' }); 
     } 

    }); 
+1

什麼是您的要求?你能解釋一下嗎? –

回答

0

變化的變量值

var scrollend = 4500; 
var second_scrollend = 1250; 

爲什麼我們改變值

你的第一個codition總是正確的,因爲if $(window).scrollTop() + $(window).height() is greater than 1250它始終是真實的

其他的方式改變條件的順序

if ($(window).scrollTop() + $(window).height() >= second_scrollend) { 
      console.log("SCROLL END 2"); 
      $("#sidepanel").css({ 'position': 'fixed', 'bottom': marginbottom + 'px', 'width': '300px' }); 
     } 
else if ($(window).scrollTop() + $(window).height() >= scrollend) { 
      console.log("SCROLL END 1"); 
      $("#sidepanel").css({ 'position': 'fixed', 'bottom': '10px', 'width': '300px' }); 
     } 
else { 
      $("#sidepanel").css({ 'position': 'relative', 'bottom': '0px', 'width': 'auto' }); 
     }