jQuery(function($) {
function fixDiv() {
var $cache = $('header');
if ($(window).scrollTop() > 10)
$cache.css({'position': 'fixed', 'top': '0', 'background': 'rgba(0,0,0,0.8)', 'padding': '0'});
//$('#top-menu a').css({'padding': '17px 20px'});
else
$cache.css({'position': 'absolute', 'top': '0', 'background': 'rgba(0,0,0,0)', 'padding': '20px 0'});
//$('#top-menu a').css({'padding': '30px 20px'});
}
$(window).scroll(fixDiv);
fixDiv();
});
这就是我目前所拥有的,我看到 var $cache = header 所以我想添加另一行,所以当它改变背景时它也会改变标题的字体大小..所以我现在有了
jQuery(function($) {
function fixDiv() {
var $cache = $('header');
if ($(window).scrollTop() > 10)
$cache.css({'position': 'fixed', 'top': '0', 'background': 'rgba(0,0,0,0.8)', 'padding': '0'});
$('h1').css({'font-size': '26px'});
else
$cache.css({'position': 'absolute', 'top': '0', 'background': 'rgba(0,0,0,0)', 'padding': '20px 0'});
$('h1').css({'font-size': '36px'});
}
$(window).scroll(fixDiv);
fixDiv();
});
我做错了什么?
最佳答案
多个语句需要大括号:
if ($(window).scrollTop() > 10)
{
$cache.css({'position': 'fixed', 'top': '0', 'background': 'rgba(0,0,0,0.8)', 'padding': '0'});
$('h1').css({'font-size': '26px'});
}
else
{
$cache.css({'position': 'absolute', 'top': '0', 'background': 'rgba(0,0,0,0)', 'padding': '20px 0'});
$('h1').css({'font-size': '36px'});
}
正确缩进代码可以更明显地看出它不起作用的原因:
if ($(window).scrollTop() > 10)
$cache.css({'position': 'fixed', 'top': '0', 'background': 'rgba(0,0,0,0.8)', 'padding': '0'});
$('h1').css({'font-size': '26px'});
else
$cache.css({'position': 'absolute', 'top': '0', 'background': 'rgba(0,0,0,0)', 'padding': '20px 0'});
$('h1').css({'font-size': '36px'});
(不仅错误而且无效 - else
是孤立的)。
关于javascript - 添加更多 JavaScript = 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10163441/