当前位置:编程学习 > JS >>

js中setInterval与SetTimeOut实现团购倒计时效果

简单示例
看个简单的例子,简单页面在加载完两秒后,写下Delayed alert!

 代码如下 复制代码

setTimeout('document.write("Delayed alert!");', 2000);

我们先来看一个setInterval版计时跳转效果

代码如下

 代码如下 复制代码

$(function () {
setInterval(function () {
var time = $("#time").text();
time = parseInt(time);
time--;
if (time >0) {
$("#time").text(time);
} else {
window.location = $("#url").attr("href");
}
}, 1000);
});

再看一个SetTimeOut版 计时跳转效果

 代码如下 复制代码

<script type="text/javascript">
window.onload = function () {
setTimeout(changeTime, 1000);
}
function changeTime() {
var time = document.getElementById("time").innerHTML;
time = parseInt(time);
time--;
if (time <= 0) {
var url = document.getElementById("url").href;
window.location = url;
} else {
document.getElementById("time").innerHTML= time;
setTimeout(changeTime, 1000);
}
}
</script>

团购网站倒计时效果代码

 代码如下 复制代码

<SCRIPT LANGUAGE="JavaScript">
function fresh() {
var time1 = document.getElementById("timeD").value;
for (var i = 1; i <= 5; i++) {
var endtime = new Date(time1);
var nowtime = new Date();
var leftsecond = parseInt((endtime.getTime() - nowtime.getTime()) / 1000);
d = parseInt(leftsecond / 3600 / 24);
h = parseInt((leftsecond / 3600) % 24);
m = parseInt((leftsecond / 60) % 60);
s = parseInt(leftsecond % 60);
// document.getElementById("times").innerHTML=__h+"小时"+__m+"分"+__s+"秒";
document.getElementById("times"+i.toString()).innerHTML = h + "小时" + m + "分" + s + "秒";
if (leftsecond <= 0) {
A
}
}
}
fresh()
var sh;
sh = setInterval(fresh, 1000);
</SCRIPT>

//实现商品倒计时开始

DataSet dataset = new DataSet();
string connStr = ConfigurationManager.ConnectionStrings["sqlservercon"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Select * from T_buondTimeBuy";
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dataset);
}
}
DataTable table = dataset.Tables[0];
for (int i = 0; i < table.Rows.Count; i++)
{
DataRow row = table.Rows[i];
time[i]= (row["time"]).ToString();
}

timeD.Value = time[1];

//实现商品倒计时结束

setTimeout与setInterval区别

setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。
setInterval方法则是表示间隔一定时间反复执行某操作。
如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法:

例如:

 代码如下 复制代码
tttt=setTimeout('northsnow()',1000);
clearTimeout(tttt);

或者:

 代码如下 复制代码
tttt=setInterval('northsnow()',1000);
clearInteval(tttt);
补充:网页制作,js教程 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,