2017-07-14 45 views
2

我使用的WordPress主题添加了两个徽标,网站加载时为黑色,而在滚动时激活粘性导航时添加了较亮的一个。当粘性导航处于活动状态时,“滚动”类将被添加到包含div的“scroll_header_top_area”中。关于类更改,使用jQuery更新HTML属性

下面的代码工作,如果我已经向下滚动页面和粘性导航活动,我刷新页面,但它不会动态切换标志滚动时。

我见过使用MutationObserver的建议,但我恐怕无法理解该示例或如何在此处使用它。

我该如何更改此代码,以便根据“滚动”类是否处于活动状态进行更改。

if ($j('.scroll_header_top_area').hasClass('scrolled')) { 

    $j(".q_logo img").attr("src","path_to_image/light.png"); 
} 

else { 
    $j(".q_logo img").attr("src","path_to_image/dark.png"); 
} 
+0

是封闭在像'$上面的JS( '#myDiv')上( 'classChange',函数({})' – lloyd

+0

不,这不是 - ?那是什么我失踪 – maikunari

回答

3

这听起来像你需要一个事件处理程序。这将处理滚动事件。

$j(".q_logo img").attr("src","path_to_img/dark.png"); 

$(window).scroll(function() { 

    if($j('.scroll_header_top_area').hasClass('scrolled')) 
    { 
     $j(".q_logo img").attr("src","path_to_image/light.png"); 
    } 
    else{ 
     $j(".q_logo img").attr("src","path_to_image/dark.png"); 
    } 
}); 
+0

? @maikunari让我知道,如果这对你有用 – lloyd

+0

这是行得通的!非常感谢! – maikunari

+0

唯一的问题是,它不会加载页面加载第一个图像(黑暗),它适用于滚动。 – maikunari