当前位置: 代码迷 >> Java Web开发 >> js中 setTimeout用了之后如何没效果
  详细解决方案

js中 setTimeout用了之后如何没效果

热度:9766   发布时间:2013-02-25 21:07:58.0
js中 setTimeout用了之后怎么没效果
function over(param){

param1 = {
id:param.id,
datadate:jQuery('#statMonthDate').val()
};
disposeCharts();
jQuery('#chartd').css({left:event.clientX+50,top:event.clientY-200});
setTimeout(buildGraph(param1), 5000);

jQuery('#chartd').show();
jQuery('#char2d').show();

}

我想让 onmouseover时间 buildGraph(param1)方法等待5秒再执行   为什么没效果  立即就执行了
------最佳解决方案--------------------------------------------------------

setTimeout(function(){
   buildGraph(param1);
}, 5000);

------其他解决方案--------------------------------------------------------
setTimeout(function(){
  alert('111');
}, 5000);

LZ,你可以自己先试试这样是否可以5秒之后弹出,可以的话, 在修改成自己调用的function方法名!
------其他解决方案--------------------------------------------------------
setTimeout('buildGraph('+param1+')', 5000);

试试看
------其他解决方案--------------------------------------------------------
引用:
setTimeout('buildGraph('+param1+')', 5000);
试试看




引用:
setTimeout(function(){    buildGraph(param1); }, 5000);


引用:
setTimeout(function(){
  alert('111');
}, 5000);
LZ,你可以自己先试试这样是否可以5秒之后弹出,可以的话, 在修改成自己调用的function方法名!



你们有没有考虑到,js的同步异步问题?  要是在后面加个alert("1"); 一定会先 alert的。

解决的方法 可以考虑 把
jQuery('#chartd').show();
jQuery('#char2d').show();
这两个东西 放在
buildGraph(param1); 里的最后面
------其他解决方案--------------------------------------------------------
引用:
JavaScript code
?



1

setTimeout('buildGraph('+param1+')', 5000);
试试看

正解