为什么这样做?(JQuery)
Why does this work? (JQuery)
这很有效:
$('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(3197,780.75)"不应该需要引号
2背景色应该是背景色
3颜色后应使用分号
在针对"this"的内部函数之后应使用4个分号。
据我所知,上面的四点是正确的CSS和JS,但它们中的任何一点都会破坏代码。
这是$animate的一个怪癖吗?它有可能被改变吗?还是我应该死记硬背?
- 没有。它是一个CSS属性,作为文本字符串传递,以便由jQuery解释为CSS属性
- 没有。CSS属性在JS中使用时会转换为CamelCase。虽然jQuery也可以采用连字符形式,但您的示例的作者选择了用骆驼大小写,因此不需要引用它们。(出于可读性的原因。)
- 没有。CSS中的分号用于分隔多个规则。最后一条规则不需要以分号
#foo { color: white }
结尾,这在CSS中是完全合法的 - 没有。JS中的分号表示一个逻辑行结束,而不是其他。此外,如果有一个物理线路结束(即像
'n
这样的线路中断),它们也是可选的
1"rgba(3197,780.75)"不应该需要引号。
是的,应该。它是一个字符串,而不是一个值。这是因为您使用的是JS,而不是CSS。引号之间的任何内容都用作CSS。JS不在乎你在里面放了什么,它可能是'pancake'
(很明显,这对CSS没有任何作用)。
2背景色应该是背景色。
否,-
在JS中的意思是"minus"。它已经用于进行计算。在CSS中它是background-color
,在jQuery中它是backgroundColor
。没有理由完全相同,因为这不是一个以CSS形式插入的字符串(因为它周围没有引号)。
3颜色后应使用分号。
分号是由jQuery添加的。没有必要使用类似'rgba(31, 197, 78, 0.75);'
的东西。
在针对"this"的内部函数之后应使用4个分号。
这样做确实更一致,但不需要这样做,因为块中没有包含函数的代码行。通常,在块中的最后一行代码后面不需要分号(块通常封装在{
和}
中)。
这是$animate的一个怪癖吗?它有可能被改变吗?还是我应该死记硬背?
这很符合逻辑,不会很快改变。我建议更多地学习JS和jQuery,以提高您的理解。或者你可以接受这些事情,试着记住它们;)
相关文章:
- 页面在我的javascript执行后重新加载,我不希望它这样做
- 为什么像jQuery这样的javascript库通常更喜欢匿名函数而不是命名函数
- 如何在将鼠标悬停在提交/锚点上时检查复选框是否已选中,并显示提示用户这样做的警报
- JavaScript 如果数组包含名称,则不要这样做
- 我用脚本创建了一个按钮.我可以通过点击按钮调用其他函数吗?我这样做,但失败了
- Jquery语法;也这样做”;
- 在像jQuery这样的CDN托管脚本上防止XSS
- 如果我不这样做会发生什么;t在javascript中的变量中分配新的Image
- 如果他们不这样做,就从我的数组中删除东西't没有前缀
- 如何使用“;这个“;在javascript中?这样做的目的是什么
- 如果我不这样做会发生什么;t有页码吗?继续循环帖子..为什么需要分页,对于页脚
- 禁用 ALT+F4,是的,我知道不建议这样做
- 使用默认值定义构造函数.我这样做对吗?
- 我刚刚开始使用 MEAN 堆栈.我试图将我的表单提交数据存储到 mongo 数据库,但我无法这样做
- jQuery选择器存储对象?如何强迫它不这样做
- 我怎么能说“;如果宽度>高度“;那么“;这样做"使用jQuery
- 自定义jquery函数不允许这样做
- 为什么这样做?(JQuery)
- jQuery按链接x次,然后这样做
- jQuery正在为每个类添加样式,而我说不要这样做