我在这个网站上发现了这篇文章,其中一个jFiddle显示了JQUery的以下菜单,我看到了这段我无法弄清楚的语法。
JFiddle:http://jsbin.com/oxajeq/3/edit?html,css,js,console,output
我不理解的代码行
$('#mini-logo')[logoSH](300);
我知道第一部分选择id为mini-logo的元素,但我不知道其余的语法是什么!在代码中,[logoSH]可以显示或隐藏,而末尾的()表示持续时间。但是,我找不到任何使用此语法的示例。我还搜索了CSS3,JQUery,过渡,效果,动画,这可能是什么,没有运气。我发现的东西是方法,而其他的不是方法,而是参数,但没有像这个代码。我知道里面的东西不是一种方法,但我无法弄清楚它们是什么。提前感谢您的帮助。
答案 0 :(得分:11)
此构造基于bracket notation来访问属性。它允许动态选择要应用的方法(show
或hide
)。
logoSH
可以是"show"
或"hide"
。
这意味着你的行是
$('#mini-logo')["show"](300);
或$('#mini-logo')["hide"](300);
您也可以将其视为
$('#mini-logo').show(300);
或$('#mini-logo').hide(300);
这是一个常见的构造,您也可以使用三元运算符找到它:
$('#mini-logo')[someBool ? "show" : "hide"](300);
注意:如果没有持续时间,您可以使用toggle函数,该函数将布尔值作为参数。