javascript - javascript if 和 else 的问题

标签 javascript jquery css if-statement

当单击另一个元素 (#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/

相关文章:

html - 使我的页面在调整大小时看起来不错...使用宽度 80%

css - 切换按钮的自定义颜色

javascript - 在数字计数器上添加文本

javascript - 将数据传递给动态创建的 Angular 模块和组件

jquery - 更改 Bootstrap 模式窗口的参数

javascript - 如何使用jquery从url中删除index.php?

html - 如何清除 HTML Canvas ?

javascript - 可以在 Access-Control-Allow-Origin 中指定端口吗?

javascript - Twitter 小部件并不总是填充

css - 元素包围或包裹另一个元素