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);
- } //xiariboke.net
- }
- </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);