所以这里有两件事我们需要注意。我们必须首先确保向jQuery/javascript指定要选择的内容。在这段代码中,您的目标是HTML标题元素,然后也是“site logo”,但jQuery找不到名为“site logo”的元素。
<script>
jQuery(document).ready(function($) {
$(window).scroll(function () {
if ($(window).scrollTop() > 10) {
$(\'header\').addClass(\'shrink\');
$(\'site-logo\').addClass(\'shrink\');
}
else{
$(\'header\').removeClass(\'shrink\');
$(\'site-logo\').removeClass(\'shrink\');
}
});
});
</script>
解决方案要求您指定目标,因为“site logo”是一个类,所以您必须在其前面加上一个句号,如下所示:
<script>
jQuery(document).ready(function($) {
$(window).scroll(function () {
if ($(window).scrollTop() > 10) {
$(\'.header\').addClass(\'shrink\');
$(\'.site-logo\').addClass(\'shrink\');
}
else{
$(\'.header\').removeClass(\'shrink\');
$(\'.site-logo\').removeClass(\'shrink\');
}
});
});
</script>
因为某些页面可能有多个
<header>
元素,我强烈建议您也可以针对主标题指定一个特定的类或ID,除非您希望它们在滚动时都应用“收缩”类。
另一件事,我不确定这是否是一个问题,就是当你使用CSS转换时,你必须从X值到Y值.shrink
正在设置类max-height:45px
, 您应该确保另一个类为相同的规则指定了一个起点,如max-height:75px
.
.site-logo img {
max-height: 75px;
-webkit-transition:max-height 1s ease-out;
-moz-transition:max-height 1s ease-out;
-o-transition:max-height 1s ease-out;
transition:max-height 1s ease-out;
}
.site-logo.shrink img {
max-height: 45px;
}