Javascript:即使满足条件,函数也不起作用(我很难解释)

时间:2015-09-04 06:05:04

标签: javascript jquery jquery-events

当然答案很简单,但我无法解释,所以我在这里提出来。

https://jsbin.com/tuzifobale/edit?html,css,js,output

我试图让div在你点击它时添加了类,如果div有那个类,那么就会发生X函数(在这种情况下它的淡出),因此点击它会使X功能发生。

年表如何在Javascript中运行?是否有任何阅读链接可以让我了解事情何时以及如何适用?感谢。

2 个答案:

答案 0 :(得分:2)

欢迎来到StackOverflow。

在撰写问题时,您应该采取更多预防措施,并确保其以良好的英语书写,并确保在事先不知道您想要达到的目标的人能够在阅读问题时理解您的目标。

我会尝试回答我认为理解的部分。

  

如果div具有该类,那么X函数(在这种情况下它的淡出)发生

我的理解是,当<div>收到一个班级(clicked?)时,您想要触发函数X的执行。

在Javascript中观察DOM元素的类值更改是一个似乎没有可靠解决方案的问题。 (请参阅related questions。)

  

因此点击它会使X功能发生。

也许你的目标实际上更简单。如果您只想在单击<div>时触发函数的执行,那么您必须查看mouse event handlers,尤其是.click()允许

  

将事件处理程序绑定到&#34;单击&#34; JavaScript事件

答案 1 :(得分:0)

我在你身上找到的东西很少,JsBin如下,

  1. 始终在Head中或在元素加载之前包含js文件,如下所示

  2. 你无法找到,如果元素是点击或事件被触发,如果条件像你在for循环中所做的那样

  3. 其他的是什么?

  4. 见下文并检查它是否对您有所帮助

    $(document).ready(function(){
        $('div').animate({left:'200px'});
        $('div').animate({top:'200px'});  
        $('div').animate({left:'px'});
        $('div').animate({top:'-100px'});
        $('div').animate({top:'200px'});
        $('div').animate({left:'0px'});
        $('div').animate({top:'0px'});
      
         $('div').on('click', function(){
           $(this).addClass('clicked'); 
           $(this).stop(); //Stop animation
        });
    
    });
    div {width:100px; height:100px; background:red; position:relative}
    .clicked {
      
      background: green;
      
    }
    <!DOCTYPE HTML>
    
    <html>
      <head>
    
        <title></title>
          <script src="https://code.jquery.com/jquery-1.11.3.js"></script>
      </head>
      
      <body>    
        
        <div></div>
        
      </body>
    </html>