2016-03-15 61 views
0

https://jsfiddle.net/qco1duyL/嵌套addClass似乎没有工作

我想提出一个悬停效果只发生,如果页面滚动所有的方式达到顶峰。我尝试使用.css,它不工作,所以我尝试使用addClass来代替。仍然不起作用。如果您需要查看我的完整代码,请告诉我,但除了li的html外,这些都与它有关。

JQuery的

$(document).scroll(function() { 
    if($(document).scrollTop() === 0) { 
    $('header').css("background-color", "rgba(18, 79, 255, 1)"); 
    $('.gall').show(); 
    $('li').hover(function() { 
     $(this).addClass("hovered"); 
    } function() { 
     $(this).removeClass("hovered"); 
    }); 
} else { 
    $('header').css("background-color", "rgba(18, 79, 255, .5)"); 
    $('.gall').hide(); 

}}); 

CSS

.hovered { 
    text-decoration:none; 
    text-shadow: 2px 2px 4px #AB5F1D, 
       2px 2px 2px #D67521, 
       3px 3px 2px #4A2A0F, 
       4px 4px 0px #000; 
    color: #FF8B24; 
    -webkit-text-stroke: .3px black; 
} 
+1

请您包括您的html代码呢? – reshad

+4

传递给'hover()'的两个函数之间缺少一个逗号(',')' – haim770

+0

为什么每次'scroll'回调被触发时都要重新调用'.hover'?似乎可能会导致问题。 – zzzzBov

回答

0

$(document).scroll(function() { 
    if($(document).scrollTop() === 0) { 
    $('header').css("background-color", "rgba(18, 79, 255, 1)"); 
    $('.gall').show(); 

} else { 
    $('header').css("background-color", "rgba(18, 79, 255, .5)"); 
    $('.gall').hide(); 
}}); 

$('li').hover(function() { 
    if($(document).scrollTop() === 0) { 
     $(this).toggleClass("hovered"); 
} else { 
    $(this).toggleClass("scrolledHovered"); 
}}); 
0

固定它你忘记

见的jsfiddle https://jsfiddle.net/qco1duyL/1/

$('li').hover(function() { 
     $(this).addClass("hovered"); 
    }, function() { 
     $(this).removeClass("hovered"); 
    }); 

希望帮助