当单击另一个元素 (#aNav) 时,我有一个元素 (nav) 会隐藏或显示。
这已经运行良好。
但现在我想要,被单击的元素 (#aNav) 本身会获得一些更改的样式。 无论是否显示 (nav) 元素,这些样式也应更改。 再次单击时,不会执行 else 部分。
代码如下:
function nav(){
$('#aNav').click(function() {
//changes the value of left
var $lefter = $("nav");
$lefter.animate({
left: parseInt($lefter.css('left'),10) == 0 ?
-$lefter.outerWidth() :
0
});
left = $("nav").css("left");
if( left == 0 ) {
$("#aNav div").css({
"border-right":"33px solid transparent",
"border-left":"0 solid transparent"
});
} else {
$("#aNav div").css({
"border-left":"33px solid transparent",
"border-right":"0 solid transparent"
});
}
});
};
$(document).ready(function(){
nav();
});
我只想执行 else 部分。 也许有人可以提供帮助。
最佳答案
jQuery 的 css()方法将返回 left
属性的值和 units,因此它永远不会是 0:JSFiddle demo
要使左边的值为整数,可以使用parseInt ,它将解析直到遇到非数字值:
left = parseInt($("nav").css("left"), 10);
关于javascript - javascript if 和 else 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17281094/