起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3135|回复: 7

[结贴] 倒计时的问题

[复制链接]

39

主题

112

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
QQ
发表于 2016-5-20 11:12:11 | 显示全部楼层 |阅读模式
        // 获取验证码
        Model.prototype.codeBtnClick = function(event) {
                var i = 3;
                this.countdown(i);
        };

        // 倒计时
        Model.prototype.countdown = function(i) {
                i--;
//                alert(i);
                if (i > 0) {
                        this.comp("codeBtn").set({
                                "disabled" : true,
                                "label" : i + "秒"
                        });
                } else {
                        this.comp("codeBtn").set({
                                "disabled" : false,
                                "label" : "获取验证码"
                        });
                }
                if (i > 0) {
                        setTimeout(this.countdown(i), 1000);// 设置1秒后调用countdown函数
                }
        };


运行没有效果,只有加上alert()才有效果,不知道是哪里的问题
发表于 2016-5-20 13:59:01 | 显示全部楼层
啥意思??加上alert可以正常显示,去掉alert就不正常了吗??
另外定时操作建议使用setinterval  这个表示一直循环执行!而settimeout默认执行一次!
区别用法建议上网查下吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

39

主题

112

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
QQ
 楼主| 发表于 2016-5-20 14:02:13 | 显示全部楼层
就是这个意思。
这个不能一直循环,需要判断一下,所以才循环调用settimeout
回复 支持 反对

使用道具 举报

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-5-20 14:13:44 | 显示全部楼层
weimin 发表于 2016-5-20 14:02
就是这个意思。
这个不能一直循环,需要判断一下,所以才循环调用settimeout ...

恩,如果alert可以执行,说明 你的定时器,已经起作用了,现在你的意思是没有写在页面上对么?看一下开发者工具的 Element DOM树上 定时器几十的事后 你的DOM树跟新了没?
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

39

主题

112

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
QQ
 楼主| 发表于 2016-5-20 15:39:13 | 显示全部楼层
单步调试的时候可以显示,但是运行的时候不行 实在找不到原因
回复 支持 反对

使用道具 举报

发表于 2016-5-20 16:23:28 | 显示全部楼层
weimin 发表于 2016-5-20 15:39
单步调试的时候可以显示,但是运行的时候不行 实在找不到原因

那你使用js的console.log方法在控制台打印一下!看看答应的日志信息是否完整??
还有建议使用setinterval方法试试吧!这个只需要调用一次就可以了!如果想停止 ,还有个停止执行的方法!上网搜下吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

39

主题

112

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
QQ
 楼主| 发表于 2016-5-23 09:22:27 | 显示全部楼层
可以了!非常感谢!结贴吧
回复 支持 反对

使用道具 举报

97

主题

580

帖子

1359

积分

金牌会员

Rank: 6Rank: 6

积分
1359
QQ
发表于 2017-2-17 15:23:54 | 显示全部楼层
weimin 发表于 2016-5-23 09:22
可以了!非常感谢!结贴吧

楼主 你是换setinterval方法来实现的还是说你找到自己代码的问题所在了呢
传说中路过
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-9-28 06:39 , Processed in 0.114046 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表