簡體   English   中英

根據div更改滾動條上的字體顏色

[英]Change font color on scroll based on a div

我目前正在編碼一個簡單的MENU按鈕,該按鈕固定在屏幕的右上方。

對於文本,通常為黑色,但是我希望能夠在頁面上某個Div內將文本更改為白色,以便在深色背景圖像上仍可見。

我已經建立了兩個.CSS類,並試圖讓它們打開滾動條,但是我無法弄清楚。

有人知道我如何達到這個結果嗎?

HTML

  <div class="NavigationButton menu_white">
    MENU
  </div>

CSS

.NavigationButton {
 position: fixed;
 top: 5%;
 right: 5%;
 z-index: 99999;
 font-family: neuzeit-grotesk, sans-serif;
 font-weight: 700;
 color: inherit;
}

.menu_white {
 color: #fff;
}

.menu_black {
 color: #000;
}

(不是我的網站)示例網站: http : //flavinsky.com/home/amaio

沒有快照卷軸

謝謝

您可以使用jQuery獲取滾動位置,並根據深色背景元素的位置切換類。 這是一個例子

$(document).ready(function(){
    $(window).scroll(function(){
    var light_pos = $('#white_div').offset().top;
    var light_height = $('#white_div').height();
    var menu_pos = $('.NavigationButton').offset().top;
    var scroll = $(window).scrollTop();

    if(menu_pos > light_pos && menu_pos < (light_pos + light_height)) {
        $('.NavigationButton').addClass('menu_black');
      $('.NavigationButton').removeClass('menu_white');
    }
    else {
        $('.NavigationButton').removeClass('menu_black');
      $('.NavigationButton').addClass('menu_white');
    }

  })
})

這是一個有效的小提琴https://jsfiddle.net/atqkuwhs/

一種可能的解決方案是從頁面頂部獲取div和菜單的偏移量,並在它們相交后應用所需的更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM