JS实现倒计时和文字滚动的效果实例
本文实例讲述了JS实现倒计时和文字滚动效果的方法。分享给大家供大家参考。具体实现方法如下:
说明:一般我们在一些淘宝类店铺中会看到一些像搞竞拍之类的活动,从中我们时而会发现一些倒计时的效果,在一些年会等场合我们也会发现一些抽奖活动,从中我们也可以看到一些随即滚动的效果。这里给大家分享一种实现倒计时和文字滚动的方法,希望可以对大家有所帮助。这里主要是通过js实现的。
一、倒计时效果的实现
前台部分的完整代码如下:
<headrunat="server">
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>倒计时效果的实现</title>
</head>
<body>
<formrunat="server">
<divid="timer">计算中。。。</div>
<scripttype="text/javascript">
vari=0;
functionTimeTo(dd,nowtstr){
vart=newDate(dd),//取得指定时间的总毫秒数
n=(newDate(nowtstr))-(-100*i),//取得当前毫秒数
c=t-n;//得到时间差
if(c<=0){//如果差小于等于0 也就是过期或者正好过期,则推出程序
document.getElementById("timer").innerHTML="活动已经结束";
clearInterval(window["ttt"]);//清除计时器
return;//结束执行
}
vards=60*60*24*1000,//一天共多少毫秒
d=parseInt(c/ds),//总毫秒除以一天的毫秒得到相差的天数
h=parseInt((c-d*ds)/(3600*1000)),//然后取完天数之后的余下的毫秒数再除以每小时的毫秒数得到小时
m=parseInt((c-d*ds-h*3600*1000)/(60*1000)),//减去天数和小时数的毫秒数剩下的毫秒,再除以每分钟的毫秒数,得到分钟数
s=parseInt((c-d*ds-h*3600*1000-m*60*1000)/1000); //得到最后剩下的毫秒数除以1000就是秒数,再剩下的毫秒自动忽略即可
document.getElementById("timer").innerHTML="<pstyle="margin-top:5px;"><b>"+d+"</b>天<b>"+h+"</b>小时<b>"+m+"</b>分<b>"+s+"</b>秒</p>";//最后这里将固定格式的字符串更新到ID为timer的div中
i++;
}
(function(){
window["ttt"]=setInterval(function(){
// vartimestr="<%=EndTimeStr%>";//这里可以通过后台向前台传递活动截止时间,注意要是"yyyy-MM-dd"这个格式的
// varnowtstr="<%=NowTimeStr%>";//同样这里也可以通过后台向前台传递当前时间,注意也要是"yyyy-MM-dd"这个格式的
vartimestr="2013-10-21";//这里也可以自定义"yyyy-MM-dd"这个格式的截至活动时间
varnowtstr="2013-08-23";//这里也可以自定义"yyyy-MM-dd"这个格式的当前时间
if(timestr!=""){
TimeTo(timestr,nowtstr);//定义倒计时的相差时间,注意格式
}
},100);//定义计时器,每隔100毫秒也就是1秒计算并更新div的显示
})();
</script>
</form>
</body>
</html>
补充:倒计时效果精简版:
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>倒计时精简版效果的实现</title>
</head>
<body>
<formrunat="server">
<tableborder="1">
<tr>
<thid="day"width="100"></th>
<thid="day2"width="100"></th>
<thid="day3"width="100"></th>
<thid="day4"width="100"></th>
</tr>
</table>
<scripttype="text/javascript">
functiontimestr()
{
varc=Date.parse("2014-11-11")-Date.parse((newDate()));
if(c<=0)
{
alert("活动已经结束");
clearInterval(aa);//清除定时器
}
vards=60*60*24*1000,//一天共多少毫秒
d=parseInt(c/ds),//总毫秒除以一天的毫秒得到相差的天数
h=parseInt((c-d*ds)/(3600*1000)),//然后取完天数之后的余下的毫秒数再除以每小时的毫秒数得到小时
m=parseInt((c-d*ds-h*3600*1000)/(60*1000)),//减去天数和小时数的毫秒数剩下的毫秒,再除以每分钟的毫秒数,得到分钟数
s=parseInt((c-d*ds-h*3600*1000-m*60*1000)/1000); //得到最后剩下的毫秒数除以1000就是秒数,再剩下的毫秒自动忽略即可
document.getElementById("day").innerHTML="<pstyle="margin-top:5px;"><b>"+d+"</b>天</p>";
document.getElementById("day2").innerHTML="<pstyle="margin-top:5px;"><b>"+h+"</b>时</p>";
document.getElementById("day3").innerHTML="<pstyle="margin-top:5px;"><b>"+m+"</b>分</p>"
document.getElementById("day4").innerHTML="<pstyle="margin-top:5px;"><b>"+s+"</b>秒</p>"
}
varaa=setInterval(timestr,1000);
</script>
</form>
</body>
</html>
最终我们可以看到类似于如下图所示的效果:
二、文字滚动效果的实现
前台代码部分如下:
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>文字滚动效果的实现</title>
<scripttype="text/javascript"src="jquery-1.6.2.min.js"></script>
<scripttype="text/javascript">
functionTimeTo(dd){
document.getElementById("TextBox1").value=dd;//最后这里将固定格式的字符串更新到ID为TextBox1的文本框中
}
$(function(){
window["ttt"]=setInterval(aaa,100);//页面加载的时候执行
});
functionstopInterval()
{
clearInterval(window["ttt"]);//清除计时器
window["ttt"]="";
varaa="张三,李四,王五,赵六,孙七,胡八,曾九,刘十,伊一,朴二";
vararr=aa.split(",");
varrdd=9*Math.random();
varleth=Math.round(rdd);
varleths=arr[leth].toString();
document.getElementById("TextBox1").value=leths;
}
functionaaa(){
varaa="张三,李四,王五,赵六,孙七,胡八,曾九,刘十,伊一,朴二";
vararr=aa.split(",");
varrdd=9*Math.random();
varleth=Math.round(rdd);
varleths=arr[leth].toString();
TimeTo(leths)
}
functionTimeTo2(){
if(window["ttt"]==""){
window["ttt"]=setInterval(aaa,100);
}
}
</script>
</head>
<body>
<formrunat="server">
<inputtype="text"id="TextBox1"/>
<inputtype="button"value="开始抽奖"onClick="TimeTo2();"/>
<inputtype="button"value="获取幸运观众"onClick="stopInterval();"/>
</form>
</body>
</html>
最终实现的效果图如下:
知识补充:
varmyDate=newDate();
myDate.getYear();//获取当前年份(2位)
myDate.getFullYear();//获取完整的年份(4位,1970-????)
myDate.getMonth();//获取当前月份(0-11,0代表1月)
myDate.getDate();//获取当前日(1-31)
myDate.getDay();//获取当前星期X(0-6,0代表星期天)
myDate.getTime();//获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours();//获取当前小时数(0-23)
myDate.getMinutes();//获取当前分钟数(0-59)
myDate.getSeconds();//获取当前秒数(0-59)
myDate.getMilliseconds();//获取当前毫秒数(0-999)
myDate.toLocaleDateString();//获取当前日期
varmytime=myDate.toLocaleTimeString();//获取当前时间
myDate.toLocaleString();//获取日期与时间
希望本文所述对大家基于js的web程序设计有所帮助。
相关文章
- 使用 Dapr JS SDK 让 Nest.js 集成 Dapr(微软开源的分布式应用程序运行时)
- JS面试题-js新增基本数据类型BigInt
- js 数组去除重复数据-当WPS开始像支持VBA一样支持JS语言时,微软又该何去何从?
- get两个js小技能——JS截取视频第一帧&图片转Base64
- 使用JS实现Redis数据读取(js读取redis)
- js表格拖拽效果实例代码(IEonly)
- JS控件的生命周期介绍
- js延迟加载改变JS的位置加快网页加载速度
- js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
- 利用js实现选项卡的特别效果的实例
- js实现的切换面板实例代码
- JS实现的省份级联实例代码
- js实现瀑布流的一种简单方法实例分享
- JS简单实现文件上传实例代码(无需插件)
- JS+DIV实现鼠标划过切换层效果的实例代码
- JS实现多物体缓冲运动实例代码
- js获取url参数代码实例分享(JS操作URL)
- JS实现模仿微博发布效果实例代码
- js实现jquery的offset()方法实例