我正在處理的項目我想在滾動到新內容時在頂部div中更改標題標題(例如,We Thank You)。爲每個標題使用不同的圖像,如何通過css/html來實現這一點?這裏是頁面http://2facced.com/marcecko/在滾動時替換頂部粘性div上的標題
回答
使用jQuery使這很容易,所以你可以捕獲滾動事件和滾動位置。請查閱如何從CDN中包含jQuery,jQuery網站上有幾個例子。
後您包括jQuery的,添加如下腳本:
<script language="javascript" type="text/javascript">
$(document).ready(function(){//Anything inside this function runs once the page is finished loading
$(window).scroll(function() { //jQuery function that adds a handler to run code anytime the user scrolls.
var changeThreshold1 = 1000;//the first point on the page where we want to trigger a change
var changeThreshold2 = 2000;//the second
var changeThreshold3 = 3000;//you ge the idea
var changeThreshold4 = 4000;
if($(window).scrollTop() < changeThreshold1){//If the user has not yet scrolled past the first point, or has scrolled back above teh first point
$('#header').css('background-image','[image source 1]'); //changes the background image of the element with the header ID to the first image source replace [image source 1] with the actual image file name
}else if($(window).scrollTop() >= changeThreshold1 AND $(window).scrollTop() < changeThreshold2){//if the user has scrolled to the range between points 1 and 2
$('#header').css('background-image','[image source 2]');
}else if($(window).scrollTop() >= changeThreshold2 AND $(window).scrollTop() < changeThreshold3){//if the user has scrolled to the range between points 2 and 3
$('#header').css('background-image','[image source 3]');
}else if($(window).scrollTop() >= changeThreshold3 AND $(window).scrollTop() < changeThreshold4){//if the user has scrolled to the range between points 3 and 4
$('#header').css('background-image','[image source 4]');
}else if($(window).scrollTop() >= changeThreshold4){//if the user has scrolled to the range beyond point 4
$('#header').css('background-image','[image source 5]');
}else{//a failsafe default incase anything gets screwed up
$('#header').css('background-image','[image source default]');
}
});
});
</script>
編輯 - 評論回覆:
你的問題讓我相信你有一個關於如何HTML和JavaScript的工作的誤解。當用戶滾動到元素現在處於其可見區域的位置時,無法觸發腳本運行。你所要做的就是通過測量或明確設置知道觸發器頁面頂部有多少像素。然後檢測用戶滾動的距離,並根據已知的測量值進行檢查。如果他們已經通過了這一點,那麼你做出了改變。因此,頁面上的一個腳本會基於檢測用戶滾動的時間和距離而做出所有更改。我已經修改了我的答案,爲您提供了一個更好的示例和更全面的筆記。我希望它能幫助你更好地理解。
謝謝,這是有道理的。我是否需要在每一點都要插入這個腳本,我希望標題改變?我從來沒有這樣做過,我不確定如何標記這個 –
請看我編輯的答案的答覆,這是太長,不能留下評論。 – invertedSpear
- 1. 粘div不粘在頂部在滾動
- 2. 將div div粘貼到父卷的頂部滾動
- 3. 開始滾動時,將div粘貼到頁面頂部
- 4. Div在另一個div中滾動時頂部滾動
- 5. 滾動回div的頂部
- 6. 帶滾動背景的粘性標題
- 7. 如何在頁面滾動到特定的滾動條時將div粘貼到頂部,然後取消粘貼
- 8. 「粘性滾動」的問題
- 9. 滾動到頂部DIV
- 10. 滾動時滾動到div,當div消失時滾動到頂部
- 11. 用粘性TabStrip標題滾動viewpager
- 12. 粘性標題 - 滾動 - CSS/jQuery
- 13. 表單提交時滾動div頂部
- 14. 向下滾動時修復div頂部?
- 15. 修復div滾動時頂部
- 16. 點擊DIV時滾動到頂部?
- 17. 與CSS問題滾動時的粘性標題
- 18. 固定在iOS Chrome上的頂部標題欄在滾動時左右移動
- 19. Animate div的CSS頂部屬性向下滾動時
- 20. 當你在jquery中滾動時,div粘到頂端
- 21. 網站標題滾動頂部導航
- 22. 滾動後粘貼頂部過去它
- 23. 如何滾動到固定div,不粘到頂部
- 24. 當TD被點擊時,可滾動的DIV滾動到頂部
- 25. 動畫div的頂部向下滾動
- 26. 在滾動過另一個div後,讓div粘到頁面頂部?
- 27. 滾動粘滯標題
- 28. 標題div保持在頂部,垂直滾動div下面滾動條只附加到該div
- 29. 滾動後的Javascript粘性div
- 30. 滾動到頂部區域在DIV
你想在頁面滾動時改變頁面標題嗎? –
是的,所以當我碰到某些景點時,頁面標題也會改變。 「我們謝謝你」「產品」......「品牌」......「收藏品」..等等...... –
好吧會看到我在做什麼 –