我有網站上的側面點導航 - 標準position: fixed
點導航。現在我在同一個網站上也有兩種類型的背景 - 讓我們假設一個是白色的,另一個是黑色的。我的問題是,當導航懸停黑色部分時,點不可見時。所以我試圖編寫腳本,檢測部分是否具有某些類,如果某個點在此部分 - 如果是,則點的顏色會發生變化。我取得了一定的成功,但在完成之後,我意識到我的腳本只能以一種方式工作(從上到下滾動),即使我將檢測到從上到下的滾動,當我在網站中間改變方向時,它也無法正常工作。我很早就花了這麼長時間,並且很無能 - 這裏是我迄今爲止的代碼 - 當你從上到下滾動時,它的工作。檢測元素是否懸停在部分上
你有其他任何建議或也許某些庫來解決這個問題?
編輯:佈局是相當藝術 - 所以有一些框左右浮動動態和點也必須改變時,有盒,爲什麼我拼接我的陣列,並推動#myname
它。
EDIT2:你可以看到它是如何工作的這個鏈接(沒有優化,加載速度緩慢http://lektor.ionstudio.pl/)
var sections = [];
$("section[id]").each(function() {
sections.push("#" + this.id);
})
sections.splice(0,0,"#myname");
i = 0;
$(window).scroll(function(){
var content = $("section.current").hasClass("white-section");
$("#banner .navigation li").each(function(){
var thisElem = this.getBoundingClientRect();
section = sections[i];
section = document.querySelector(section);
sectionRect = section.getBoundingClientRect();
if(sectionRect.top - thisElem.top <= 0) {
if($(section).hasClass("white")) {
$(this).addClass("black");
} else {
$(this).removeClass("black");
}
if(sectionRect.top + $(section).outerHeight(true) <= thisElem.top) {
i++;
}
}
})
})
很難幫助這裏不也看到您的HTML。 – wlh
很難在這裏提供原始HTML,因爲它已經編入WordPress主題。 基本上每個主要部分是帶ID,有一個例外#myname –
Ganga
有趣。必須多次重讀...所以你有固定的點和內容部分在它下面滾動。你有沒有在網上看到我們? – yezzz