V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
fyl00
V2EX  ›  JavaScript

菜鸟求助:JS 中想在 click 事件被触发的时候退出函数

  •  
  •   fyl00 · 2014-03-29 18:37:41 +08:00 · 3514 次点击
    这是一个创建于 3893 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自己通过判断一个变量的值来退出,但是没成功

    代码如下

    $(document).scroll(function () {
    viewBottom = $(document).scrollTop() + $(window).height();
    if ((divTop < $(document).scrollTop()) && ( divBottom > viewBottom )){
    target.css({"background":"gray"});
    pullComment.css({"display":"block"});
    var pullCommentClick = null;
    pullComment.click(function(){
    pullComment.css({"display":"none"});
    $(window).scrollTop(summaryBottom);
    pullCommentClick = 1;
    })
    if (pullCommentClick){
    return;
    }
    }
    else {
    target.css({"background":"white"});
    pullComment.css({"display":"none"});
    }
    })
    4 条回复    1970-01-01 08:00:00 +08:00
    jsonline
        1
    jsonline  
       2014-03-29 18:45:29 +08:00 via Android
    把demo放到 jsfiddler 或者 jsbin
    emric
        2
    emric  
       2014-03-29 19:05:01 +08:00
    把声明放到匿名函数外面.
    ttph1oc
        3
    ttph1oc  
       2014-03-29 21:03:36 +08:00
    var pullCommentClick=null放到整个作用域外头
    wizaliu
        4
    wizaliu  
       2014-03-29 21:38:58 +08:00
    作用域不对,click里面改变的是全局变量pullCommentClick,而你在if里面判断的是scroll回调函数里面申明的pullCommentClick,他们不是一个,当然判断不到了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2523 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:30 · PVG 08:30 · LAX 16:30 · JFK 19:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.