javascript - 这个判断为什么不生效呢if($(".a").css("width") == 100){}
PHP中文网
PHP中文网 2017-04-11 08:59:32
[JavaScript讨论组]

为什么这个判断不生效呢?我是想判断这个$(".a") 宽度是否为100px,是不是哪里写错了?

$(function(){
    $(".a").animate({width:"100px"},3000);
    if($(".a").css("width") == 100){
        console.log("100");
    }
})

我刚刚解决了····  animate(style,speed,callback),写在animate里面就可以
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
PHPz

首先 JavaScript 是异步加载,你那动画是3秒之后才加载的,所以宽度不会是100px,你只要加个定时器就可以了; 第二 你比较的时候少了单位 ‘px’, 修改后的代码如下

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <script src="jquery-1.9.1.min.js"></script>
    <title>Document</title>
</head>

<body>
    <p class="a">
    </p>
</body>

</html>
<script>
$(function() {
    $(".a").animate({
        width: "100px"
    }, 3000);
    // console.log($(".a").css("width"))

    setInterval(function() {
        if ($(".a").css("width") == '100px') {
            console.log("100");
        }
    }, 3000)

})
</script>
怪我咯

这就是javascript老是看到callback 的原因,
它的代码不就按你以为了顺序执行完再执行下一句的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号