我想改變導航(固定導航)顏色取決於當前部分,但與航點卡住。當我調用它時,else語句永遠不會執行。有任何想法嗎?jQuery Waypoints和改變導航類取決於當前部分
var mainNav = $('.navigation');
var section = $('section'),
white = $("section[data-color='white']"),
black = $("section[data-color='black']");
$('section').waypoint(function(){
if (white) {
mainNav.removeClass('light');
}
else {
mainNav.addClass('light');
}
});
白色和黑色是jQuery對象,而不是HTMLElements。 Waypoints中的元素選項需要一個普通的ol元素。所以我使用了庫提供的jQuery擴展。下面的是完美的工作。
var mainNav = $('.navigation');
var $section = $('section'),
white = $("section[data-color='white']"),
black = $("section[data-color='black']");
white.waypoint({
handler: function(direction) {
mainNav.removeClass('light');
if (direction == 'up') {
mainNav.addClass('light');
}
}
});
black.waypoint({
handler: function (direction) {
mainNav.addClass('light');
if (direction == 'up') {
mainNav.removeClass('light');
}
}
});
嘗試使用'white.length' – Tushar
它不以'白色工作.length「。 – emilium
創建一個jsfiddle或者顯示相關的HTML代碼 – Tushar