A-A+
	js中setInterval与SetTimeOut实现团购倒计时效果
我们在团购网站会看到很多产品都可以看到有时间在那里走,下面我来给大家介绍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);
 - } //xiaohuboke.com
 - }
 - </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);