已知toast函数的显示时长是固定2秒。
设定一个在屏幕上显示的指定时长如30秒的toast倒计时,可以让tost不间断显示,又不会造成堵塞和间断
/**
* 显示一个倒计时的 Toast 消息。
*
* @param {string} [text] - 要显示的文本,如果为空则显示“倒计时”。
* @param {number} remainingTime - Toast 显示的总时长(秒)
* @author 飞云
* @wechat imfeiyun
* @link http://www.feiyunjs.com
*/
function countdown(remainingTime, text) {
const interval = setInterval(() => {
const displayText = text ? `${text} ${remainingTime} 秒` : `倒计时 ${remainingTime} 秒`;
toast.show(displayText); // 显示内容
remainingTime -= 2; // 每次减少 2 秒
if (remainingTime <= 0) {
clearInterval(interval); // 清除定时器
// console.log("Toast 结束"); // 处理结束逻辑
}
}, 2000); // 每 2 秒调用一次
}
// 使用示例
countdown(30); // 30 秒
将函数修改为可变参数:
/**
* 倒计时函数,显示剩余时间。
* @param {number|string} arg1 - 可以是倒计时的秒数或显示的文本。
* @param {number|string} arg2 - 可以是倒计时的秒数或显示的文本。
* @author 飞云
* @wechat imfeiyun
* @link http://www.feiyunjs.com
*/
function countdownEx(arg1, arg2) {
let remainingTime = null; // 剩余时间初始化为 null
let text = null; // 显示文本初始化为 null
// 根据参数类型判断第一个参数
if (typeof arg1 === 'number' && arg1 > 0) {
remainingTime = arg1; // 如果是有效的数字,则赋值给剩余时间
} else if (typeof arg1 === 'string') {
text = arg1; // 如果是字符串,则赋值给显示文本
}
// 根据参数类型判断第二个参数
if (typeof arg2 === 'number' && arg2 > 0) {
remainingTime = arg2; // 如果是有效的数字,则赋值给剩余时间
} else if (typeof arg2 === 'string') {
text = arg2; // 如果是字符串,则赋值给显示文本
}
// 检查剩余时间是否有效
if (remainingTime === null) {
console.error("必须提供有效的剩余时间!"); // 报错信息
return; // 终止函数
}
// 设置定时器,每2秒更新一次
const interval = setInterval(() => {
// 构建要显示的文本
const displayText = text ? `${text} ${remainingTime} 秒` : `倒计时 ${remainingTime} 秒`;
toast.show(displayText); // 显示内容
remainingTime -= 2; // 每次减少 2 秒
if (remainingTime <= 0) {
clearInterval(interval); // 清除定时器
}
}, 2000); // 每 2 秒调用一次
}
// 使用示例
countdownEx(10); // 仅提供剩余时间
countdownEx("剩余时间", 10); // 文本在前,仍然有效
countdownEx(5, "倒计时"); // 正常使用
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » AiWork显示一个倒计时的Toast消息
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » AiWork显示一个倒计时的Toast消息