html - JavaScript 语法问题
ringa_lee
ringa_lee 2017-04-11 09:08:50
[JavaScript讨论组]
var e = setTimeout(function() {
    
    var e = $(window).scrollTop(), 
        n = $(".header-nav-wrap"), 
        i = $(".header-nav-wrap-inner"), 
        s = $(".sub-nav");
    
    e > 200 ? n.hasClass("hn-fixed") || (n.addClass("hn-fixed"),
    s.hide(),
    a || i.css("top", "-80px").animate({
        top: "0px"
    }, 500)) : n.hasClass("hn-fixed") && (n.removeClass("hn-fixed"),
    s.show())
    
}, 30);

帮忙解释一下从 e > 200 ? ....... s.show()这段代码???
ringa_lee
ringa_lee

ringa_lee

全部回复(4)
PHPz
e > 200 ? a : b;

在这里等价于

if(e > 200) {
  a;
} else {
  b;
}

ECMAScript 条件运算符

阿神

相当于解释:

var a = b ? c : d;
var a = 0 || 1;

这个自己能找到答案吧

PHP中文网

a?b:c三目运算符a是条件,true执行b,false执行c,你没看懂估计是代码结构太乱了。
两个n.haseClass后面是要执行的部分
是不是缺了点啥?

天蓬老师

e > 200 ? (代码段A) : (代码段B);

if(e>200){
    执行代码段A
}else{
    执行代码段B
}

再来说说 A||B,A为true,则B不执行,A为false,B执行
最后说说 A&&B, A为true,则B执行,A为false,则B不执行

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

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