小编kav*_*ita的帖子

代码执行中的同步延迟

我有一个代码,需要在延迟说5000毫秒后执行.目前我使用的是setTimeout但它是异步的,我希望执行等待它的返回.我尝试过使用以下内容:

function pauseComp(ms) 
 {
     var curr = new Date().getTime();
     ms += curr;
     while (curr   < ms) {
         curr = new Date().getTime();
     }
 } 
Run Code Online (Sandbox Code Playgroud)

但我想延迟的代码是使用raphaeljs绘制一些对象,并且显示器根本不是平滑的.我正在尝试使用doTimeout插件.我只需要延迟一次,因为延迟和要延迟的代码都在循环中.我没有要求身份证,所以我没有使用它.例如:

for(i; i<5; i++){ $.doTimeout(5000,function(){
         alert('hi');  return false;}, true);}
Run Code Online (Sandbox Code Playgroud)

这等待5秒钟,然后给出第一个Hi,然后连续循环迭代在第一个之后立即显示警报.我想要它做的是等待5秒再次提醒警报等待然后提供警报等等.

任何提示/建议表示赞赏!

javascript jquery settimeout

27
推荐指数
5
解决办法
5万
查看次数

使用Raphaeljs进行rect的Onclick事件

我试图绘制一个简单的矩形,上面有一些文字.由于形状上没有文字,我正在创建一个具有相同文本和矩形对象坐标的集合.我需要在onclick事件上改变一些东西.因此,我使用了obj.node.onclick =语句并编写了一个处理程序.我的问题是,如果文本对象用于onclick,则仅当我单击文本时才会调用事件处理程序.如果我使用rect进行onclick,我必须单击边框区域.我的要求是,点击可以与形状中的文本一起出现在整个形状区域.

   var paper = Raphael(10, 10, 320, 200);
var group = paper.set();
var c1 = paper.path("M35 60 L35 90");
var c2 = paper.rect(10, 10, 50, 50,10);
group.push(c2);
group.push(paper.text(35, 35, "Hello"));

c2.attr("fill", "blue");
c2.node.onclick = function () { c2.attr("fill", "red");}; 
Run Code Online (Sandbox Code Playgroud)

我试图使用div覆盖rect并在其上写文本但没有成功.我可以在firebug中看到div而不是在网页上!我给它左上角宽度和高度的样式属性以及将位置表示为绝对值.但没有成功.

请帮我解决一下这个.任何帮助表示赞赏!卡维塔

我尝试使用前层背板解决方案.我克隆了后备层并添加了一个点击处理程序.我根本没有使用'this'.这件事永远不会被解雇!请在这件事上给予我帮助!卡维塔

javascript jquery raphael

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×2

jquery ×2

raphael ×1

settimeout ×1