2013-08-29 99 views
0

當我更改滾動過去的元素的CSS時,當我使用.css(...)應用css更改時,視圖跳轉到該div(通過向上滾動)。它可以像更改背景顏色一樣簡單。jquery css改變焦點元素 - 如何安靜地做它?

有沒有辦法解決?我只是想讓它靜靜地在背景中進行更改,而不是跳轉到該div。

...other stuff... 

<div style="position: absolute"> 

<div style="position: relative;" id = "myDiv"></div> 

</div> 


...other stuff... 



<div id="myButton"> 
      <h2>Click here</h2> 
      </div> 

$("#myButton").click(function() { $("#myDiv").css("background-color", "yellow");} 

實際上,我更改背景顏色的對象並不重要。它可以是myDiv或任何東西。如果它已經滾動過去,它會跳轉到該對象,然後回到正確的div。

夥計們,關閉這個問題。正如你們提到的那樣,它與改變CSS完全無關。

+4

我認爲你正在做的事情是錯誤的。 '.css()'不會影響頁面上的位置。也許顯示你的代碼? – Martijn

+0

@Martijn它確實回到了正確的位置,但是首先它跳轉到已經滾過去的div ......然後返回到正確的位置。 – user1831003

+0

哦,我看到你有一個按鈕。這就是觸發:)再次,'css()'不會做這種行爲 – Martijn

回答

1

嘗試

$(document).ready(function(){  
       var scroll_pos = 0; 
       $(document).scroll(function() { 
        scroll_pos = $(this).scrollTop(); 
        if(scroll_pos > 210) { 
         $("your div").css('background-color', 'blue'); 
        } else { 
         $("your div").css('background-color', 'red'); 
        } 
       }); 
      }); 
+0

不,我在滾動後如何更改背景顏色並不需要幫助。我已經知道我應該在什麼時候改變背景顏色。請參閱我的編輯和評論。 – user1831003