setInterval不会在fadeOut中被调用

问题描述:

是什么导致setInterval不会在fadeOut中被调用?setInterval不会在fadeOut中被调用

<!doctype html> 
<html> 
<head> 
    <title>Exercise</title> 
    <style> 
     #box { 
     } 
    </style> 
</head> 
<body> 
    <div id="box"></div> 
    <script src="jquery.js"></script> 
    <script> 
     $(function() { 
      $("#box").fadeOut(3000, function() { 
       setInterval("UpdateTime()", 100); 
      }); 
     }); 

     function GetTime() { 
      var now = new Date(); 
      var obj = { 
       Hour: now.getHours(), 
       Minute: now.getMinutes(), 
       Second: now.getSeconds() 
      }; 

      return obj; 
     } 

     function UpdateTime() { 
      var box = $("#box"); 

      var obj = GetTime(); 
      if (obj.Hour < 10) 
       obj.Hour = "0" + obj.Hour; 
      if (obj.Minute < 10) 
       obj.Minute = "0" + obj.Minute; 
      if (obj.Second < 10) 
       obj.Second = "0" + obj.Second; 

      box.text(obj.Hour + ":" + obj.Minute + ":" + obj.Second); 
     } 

    </script> 
</body> 
</html> 
+3

'的setInterval(录入,100);' – melancia 2014-09-05 22:02:32

+0

你是隐藏用盒子'淡出()'那么谁是显示回来? – 2014-09-06 01:11:09

+0

请参阅http://jsfiddle.net/arunpjohny/hee5um81/1/或http://jsfiddle.net/arunpjohny/hee5um81/2/ – 2014-09-06 01:11:41

设置setInterval()的人建议之前:

$("#box").fadeIn(3000, function() { 
    setInterval(UpdateTime, 100); 
}); 

和(If您想要显示时间)将.fadeOut()更改为.fadeIn()(或删除完全消失)。

小提琴:http://jsfiddle.net/cu3s5zwt/

避免在setInterval中使用字符串。喜欢传递一个函数。

你可以这样来做:

setInterval(UpdateTime, 100); 

,或者如果你需要一些参数:

setInterval(function(){ 
    UpdateTime(argA, argB); 
}, 100); 
+0

你有没有试过你的答案? – 2014-09-05 22:26:23

+0

@氰化食品你认为它有什么不对? – Ian 2014-09-05 22:28:52

+0

@氰化食品,为什么它不起作用? UpdateTime没有被调用? – patricK 2014-09-05 22:37:17