日期:2014-05-17  浏览次数:20798 次

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);
试试看

正解