我正在为我的新网站创建一个较小的滚动标题,所以我慢慢地向标题中的每个元素应用新类,并通过滚动上的 jQuery 添加/删除它们。它运行良好,但脚本没有更改其中一个类,我不确定为什么。脚本如下所示:
<script>
$(function(){
var shrinkHeader = 200;
$(window).scroll(function() {
var scroll = getCurrentScroll();
if ( scroll >= shrinkHeader ) {
$('.Header').addClass('small');
$('.Logo').addClass('small');
$('.HOME').addClass('small');
$('.CREATORS').addClass('small');
$('.VERTICALS').addClass('small');
$('.XENOVA_').addClass('small');
$('.ABOUT').addClass('small');
$('.CONTACT').addClass('small');
$('.LOG_IN').addClass('small');
$('div.ICON_BG1').addClass('small');
$('ul#menu li ul.sub-menu').addClass('small');
$('ICON_BG_2').addClass('small');
}
else {
$('.Header').removeClass('small');
$('.Logo').removeClass('small');
$('.HOME').removeClass('small');
$('.CREATORS').removeClass('small');
$('.VERTICALS').removeClass('small');
$('.XENOVA_').removeClass('small');
$('.ABOUT').removeClass('small');
$('.CONTACT').removeClass('small');
$('.LOG_IN').removeClass('small');
$('div.ICON_BG1').removeClass('small');
$('ul#menu li ul.sub-menu').removeClass('small');
$('ICON_BG_2').removeClass('small');
}
});
function getCurrentScroll() {
return window.pageYOffset;
}
});
</script>
未添加的类是“ICON_BG_2”。我尝试更改 CSS 和脚本上的名称,没有雪茄。以下是与之关联的类:
.Icon_BG_2 {
background: url("images/IconBG2.png") no-repeat;
position: absolute;
margin-left: 960px;
top: 26px;
width: 45px;
height: 48px;
z-index: 82;
-webkit-transition: background-image .5s;
}
.Icon_BG_2.small {
background: url("images/IconBG2.png") no-repeat;
position: absolute;
margin-left: 960px;
top: 26px;
width: 35px;
height: 35px;
z-index: 82;
-webkit-transition: background-image .5s;
}
.Icon_BG_2:hover {
background: url("images/IconBGHover2.png") no-repeat;
position: absolute;
margin-left:960x;
top: 26px;
width: 45px;
height: 48px;
z-index: 82;
-webkit-transition: background-image .5s;
}
我还通过为 ICON_BG_2 下的更多元素添加函数进行了测试,它们起作用了,所以这不是某种最大/过载交易。
JSFiddle 可以在这里找到:http://jsfiddle.net/qTTHL/2/
最佳答案
您的代码正在寻找元素 <Icon_BG_2>...</Icon_BG_2>
,显然不是您想要的!
您忘记了 .
表示类名。
关于JQuery 无法识别滚动上的单个类更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23022999/