这有效:
$('div.hg_logo').hover(
function(){$(this).animate({
backgroundColor: 'rgba(31, 197, 78, 0.75)'
}, 1200)},
function(){$(this).animate({
backgroundColor: 'white'
}, 1200)}
);
但鉴于我对CSS和JS的了解,它不应该!
1'rgba(31,197,78,0.75)'不应该引用 2 backgroundColor应为背景色 3颜色后应使用分号 在以“this”为目标的内部功能之后,应使用4个分号。
根据我的理解,上面的四点是正确的CSS和JS - 但是其中任何一个都破坏了这段代码。
这是$()。animate的怪癖,还有机会改变吗?或者我应该承诺死记硬背?
答案 0 :(得分:6)
#foo { color: white }
在CSS中完全合法。\n
这样的换行符),它们是可选的。答案 1 :(得分:1)
1'rgba(31,197,78,0.75)'不应该引用。
是的,应该。它是文本的STRING,而不是值。这是因为您使用的是JS,而不是CSS。引号之间的任何内容都用作CSS。 JS并不关心你放在那里的东西,它可能也是'pancake'
(显然不会像CSS那样做任何事情)。
2 backgroundColor应为背景色。
不,-
在JS中的意思是'减'。它已经用于计算。在CSS中它是background-color
,jQuery是backgroundColor
。它没有理由完全相同,因为这不是一个字面意思插入CSS的字符串(因为它没有引号)。
3颜色后应使用半冒号。
jQuery添加分号。无需使用'rgba(31, 197, 78, 0.75);'
。
在以“this”为目标的内部函数之后应该使用4个分号。
这样做确实更加一致,但不需要它,因为包含该函数的块中没有代码行。通常,在块中的最后一行代码之后不需要分号(块通常使用{
和}
进行封装。
这是$()。animate的怪癖,还有机会改变吗?或者我应该承诺死记硬背?
这很合乎逻辑,不会很快改变。我建议您更多地了解JS和jQuery,以提高您的理解。或者你可以接受这些东西并试着记住它们;)