js做的各种倒计时

  1. 第一种:精确到秒的javascript倒计时代码  
  2.   
  3. HTML代码:  
  4. <form name="form1">  
  5. <div align="center" align="middle">  
  6. <center>离2010年还有:<br>  
  7. <input type="textarea" name="left" size="35" style="text-align: center" mce_style="text-align: center">  
  8. </center>  
  9. </div>  
  10. </form>  
  11. <mce:script LANGUAGE="javascript"><!--  
  12. startclock()  
  13. var timerID = null;  
  14. var timerRunning = false;  
  15. function showtime() {  
  16. Today = new Date();  
  17. var NowHour = Today.getHours();  
  18. var NowMinute = Today.getMinutes();  
  19. var NowMonth = Today.getMonth();  
  20. var NowDate = Today.getDate();  
  21. var NowYear = Today.getYear();  
  22. var NowSecond = Today.getSeconds();  
  23. if (NowYear <2000)  
  24. NowYear=1900+NowYear;  
  25. Today = null;  
  26. Hourleft = 23 - NowHour  
  27. Minuteleft = 59 - NowMinute  
  28. Secondleft = 59 - NowSecond  
  29. Yearleft = 2009 - NowYear  
  30. Monthleft = 12 - NowMonth - 1  
  31. Dateleft = 31 - NowDate  
  32. if (Secondleft<0)  
  33. {  
  34. Secondleft=60+Secondleft;  
  35. Minuteleft=Minuteleft-1;  
  36. }  
  37. if (Minuteleft<0)  
  38. {   
  39. Minuteleft=60+Minuteleft;  
  40. Hourleft=Hourleft-1;  
  41. }  
  42. if (Hourleft<0)  
  43. {  
  44. Hourleft=24+Hourleft;  
  45. Dateleft=Dateleft-1;  
  46. }  
  47. if (Dateleft<0)  
  48. {  
  49. Dateleft=31+Dateleft;  
  50. Monthleft=Monthleft-1;  
  51. }  
  52. if (Monthleft<0)  
  53. {  
  54. Monthleft=12+Monthleft;  
  55. Yearleft=Yearleft-1;  
  56. }  
  57. Temp=Yearleft+'年, '+Monthleft+'月, '+Dateleft+'天, '+Hourleft+'小时, '+Minuteleft+'分, '+Secondleft+'秒'  
  58. document.form1.left.value=Temp;  
  59. timerID = setTimeout("showtime()",1000);  
  60. timerRunning = true;  
  61. }  
  62. var timerID = null;  
  63. var timerRunning = false;  
  64. function stopclock () {  
  65. if(timerRunning)  
  66. clearTimeout(timerID);  
  67. timerRunning = false;  
  68. }  
  69. function startclock () {  
  70. stopclock();  
  71. showtime();  
  72. }  
  73. // --></mce:script>  
  74.   
  75.   
  76.   
  77. 第二种:某某运动会  
  78.   
  79. HTML代码:  
  80. <!--倒计时Javascript begin-->  
  81.  <mce:script language="JavaScript"><!--  
  82.    
  83.  function DigitalTime1()  
  84.  {   
  85.  var deadline= new Date("08/13/2007"//开幕倒计时  
  86.  var symbol="8月13日"  
  87.  var now = new Date()  
  88.  var diff = -480 - now.getTimezoneOffset() //是北京时间和当地时间的时间差  
  89.  var leave = (deadline.getTime() - now.getTime()) + diff*60000  
  90.  var day = Math.floor(leave / (1000 * 60 * 60 * 24))  
  91.  var hour = Math.floor(leave / (1000*3600)) - (day * 24)  
  92.  var minute = Math.floor(leave / (1000*60)) - (day * 24 *60) - (hour * 60)  
  93.  var second = Math.floor(leave / (1000)) - (day * 24 *60*60) - (hour * 60 * 60) - (minute*60)  
  94.  var deadline_2= new Date("08/13/2004"//开幕后计时  
  95.  var symbol_2="8月13日"  
  96.  var now_2 = new Date()  
  97.  var diff_2 = -480 - now.getTimezoneOffset() //是北京时间和当地时间的时间差  
  98.  var leave_2 = (now_2.getTime() - deadline_2.getTime()) + diff_2*60000  
  99.  var day_2 = Math.floor(leave_2 / (1000 * 60 * 60 * 24))  
  100.  var hour_2 = Math.floor(leave_2 / (1000*3600)) - (day_2 * 24)  
  101.  var minute_2 = Math.floor(leave_2 / (1000*60)) - (day_2 * 24 *60) - (hour_2 * 60)  
  102.  var second_2 = Math.floor(leave_2 / (1000)) - (day_2 * 24 *60*60) - (hour_2 * 60 * 60) - (minute_2*60)  
  103.    
  104.  day=day+1;  
  105.  day_2=day_2+1;  
  106.  if (day>0) //还未开幕  
  107.  {  
  108.  //LiveClock1.innerHTML = "现在"+symbol+"天"  
  109.  LiveClock1.innerHTML = "<font class=fon1>距离"+symbol+"开幕还有<font class=fon2>"+day+"</font>天</font>"  
  110.  setTimeout("DigitalTime1()",1000)  
  111.  }  
  112.  if (day<0) //已经开幕  
  113.  {  
  114.  //LiveClock1.innerHTML = "现在离"+symbol+"还有"+day+"天"+hour+"小时"+minute+"分"+second +"秒"  
  115.  LiveClock1.innerHTML = "<font class=fon1>"+symbol+"开幕已有<font class=fon2>"+day_2+"</font>天</font>"  
  116.  setTimeout("DigitalTime1()",1000)  
  117.  }  
  118.  if (day==0) //正在开幕  
  119.  {  
  120.  //LiveClock1.innerHTML = "现在"+symbol+"天"  
  121.  LiveClock1.innerHTML = "<font class=fon1>某某运动会今天开幕</font>"  
  122.  setTimeout("DigitalTime1()",1000)  
  123.  }  
  124.    
  125.    
  126.  if (day<0 & day_2>19) //某某运动会结束  
  127.  {  
  128.  //LiveClock1.innerHTML = "现在离"+symbol+"还有"+day+"天"+hour+"小时"+minute+"分"+second +"秒"  
  129.  LiveClock1.innerHTML = "<font class=fon1>某某运动会已全部结束</font>"  
  130.  setTimeout("DigitalTime1()",1000)  
  131.  }  
  132.  }  
  133. // --></mce:script>  
  134.  <!--倒计时Javascript end-->  
  135. <body onload=DigitalTime1()>  
  136. <div id= LiveClock1></div>  
  137. </body>  
  138.   
  139.   
  140.   
  141. 第三种:小时倒计时  
  142.   
  143. HTML代码:  
  144. <SCRIPT LANGUAGE="JavaScript">  
  145. <!--  
  146. var maxtime = 60*60 //一个小时,按秒计算,自己调整!  
  147. function CountDown(){  
  148.  if(maxtime>=0){  
  149.  minutes = Math.floor(maxtime/60);  
  150.  seconds = Math.floor(maxtime%60);  
  151.  msg = "距离结束还有"+minutes+"分"+seconds+"秒";  
  152.  document.all["timer"].innerHTML=msg;  
  153.  if(maxtime == 5*60) alert('注意,还有5分钟!');  
  154.  --maxtime;  
  155.  }  
  156.  else{  
  157.  clearInterval(timer);  
  158.  alert("时间到,结束!");  
  159.  }  
  160. }  
  161. timer = setInterval("CountDown()",1000);  
  162. //-->  
  163. </SCRIPT>  
  164. <div id="timer" style="color:red" mce_style="color:red"></div>  
  165.   
  166.   
  167.   
  168. 第四种:最简倒计时  
  169.   
  170. HTML代码:  
  171. <Script Language="JavaScript">   
  172. <!-- Begin   
  173.   var timedate= new Date("January 14,2006");   
  174.   var times="研究生考试";   
  175.   var now = new Date();   
  176.   var date = timedate.getTime() - now.getTime();   
  177.   var time = Math.floor(date / (1000 * 60 * 60 * 24));   
  178.   if (time >= 0) ;  
  179. document.write("<li><font color=#DEDBDE>现在离2006年"+times+"还有: <font color=#ffffff><b>"+time +"</b></font> 天</font></li>");  
  180. // End -->  
  181. </Script>  
  182.   
  183.   
  184.   
  185. 第五种:最简倒计时二  
  186.   
  187. HTML代码:  
  188. <mce:script language="JavaScript" type="text/javascript"><!--  
  189. function djs(){  
  190. var urodz= new Date("11/12/2008");   
  191. var now = new Date();  
  192. var num  
  193. var ile = urodz.getTime() - now.getTime();    
  194. var dni = Math.floor(ile / (1000 * 60 * 60 * 24));    
  195. if (dni >1)    
  196. num=dni+1  
  197. else if (dni == 1) num=2   
  198. else if (dni == 0) num=1  
  199. else num=0   
  200. document.write(num)    
  201. }  
  202. // --></mce:script>  
  203. 距某某开幕式还有 [<mce:script language="JavaScript" type="text/javascript"><!--  
  204. djs()  
  205. // --></mce:script>] 天  
  206. 第五个:Javascript倒计时器 - 采用系统时间自校验  
  207. 这次利用系统时间自校验倒计时, 无需手工调校使得倒计时更为精确, 代码及详细注释如下:  
  208. <span id="clock">00:01:11:00</span>  
  209. <input id="startB" type="button" value="start countdown!" onclick="run()">  
  210. <input id="endB" type="button" value="stop countdown!" onclick="stop()">  
  211. <br>  
  212. <input id="diff" type="text">  
  213. <input id="next" type="text">  
  214. <mce:script language="Javascript"><!--  
  215. /* This notice must be untouched at all times. 
  216. countdown.js    v. 1.0 
  217. The latest version is available at 
  218. http://blog.youkuaiyun.com/yjgx007 
  219. Copyright (c) 2004 Xinyi.Chen. All rights reserved. 
  220. Created 7/30/2004 by Xinyi.Chen.  
  221. Web: http://blog.youkuaiyun.com/yjgx007 
  222. E-Mail: chenxinyi1978@hotmail.com 
  223. Last modified: 7/30/2004 
  224. This program is free software; 
  225. you can redistribute it and/or modify it under the terms of the 
  226. GNU General Public License as published by the Free Software Foundation; 
  227. See the GNU General Public License 
  228. at http://www.gnu.org/copyleft/gpl.html for more details. 
  229. */  
  230. var normalelapse = 100;  
  231. var nextelapse = normalelapse;  
  232. var counter;   
  233. var startTime;  
  234. var start = clock.innerText;   
  235. var finish = "00:00:00:00";  
  236. var timer = null;  
  237. // 开始运行  
  238. function run() {  
  239.   startB.disabled = true;  
  240.   endB.disabled = false;  
  241.   counter = 0;  
  242.   // 初始化开始时间  
  243.   startTime = new Date().valueOf();  
  244.   // nextelapse是定时时间, 初始时为100毫秒  
  245.   // 注意setInterval函数: 时间逝去nextelapse(毫秒)后, onTimer才开始执行  
  246.   timer = window.setInterval("onTimer()", nextelapse);   
  247. }  
  248. // 停止运行  
  249. function stop() {  
  250.   startB.disabled = false;  
  251.   endB.disabled = true;  
  252.   window.clearTimeout(timer);  
  253. }  
  254. window.onload = function() {  
  255.   endB.disabled = true;  
  256. }  
  257. // 倒计时函数  
  258. function onTimer()  
  259. {  
  260. if (start == finish)  
  261. {  
  262.   window.clearInterval(timer);  
  263.   alert("time is up!");  
  264.   return;  
  265. }  
  266. var hms = new String(start).split(":");  
  267. var ms = new Number(hms[3]);  
  268. var s = new Number(hms[2]);  
  269. var m = new Number(hms[1]);  
  270. var h = new Number(hms[0]);  
  271.     
  272. ms -= 10;  
  273. if (ms < 0)  
  274. {  
  275.   ms = 90;  
  276.   s -= 1;  
  277.   if (s < 0)  
  278.   {  
  279.     s = 59;  
  280.     m -= 1;  
  281.   }  
  282.     
  283.   if (m < 0)  
  284.   {  
  285.     m = 59;  
  286.     h -= 1;  
  287.   }  
  288. }  
  289. var ms = ms < 10 ? ("0" + ms) : ms;  
  290. var ss = s < 10 ? ("0" + s) : s;  
  291. var sm = m < 10 ? ("0" + m) : m;  
  292. var sh = h < 10 ? ("0" + h) : h;  
  293. start = sh + ":" + sm + ":" + ss + ":" + ms;  
  294. clock.innerText = start;  
  295. // 清除上一次的定时器  
  296. window.clearInterval(timer);  
  297. // 自校验系统时间得到时间差, 并由此得到下次所启动的新定时器的时间nextelapse  
  298. counter++;   
  299. var counterSecs = counter * 100;  
  300. var elapseSecs = new Date().valueOf() - startTime;  
  301. var diffSecs = counterSecs - elapseSecs;  
  302. nextelapse = normalelapse + diffSecs;  
  303. diff.value = counterSecs + "-" + elapseSecs + "=" + diffSecs;  
  304. next.value = "nextelapse = " + nextelapse;  
  305. if (nextelapse < 0) nextelapse = 0;  
  306. // 启动新的定时器  
  307. timer = window.setInterval("onTimer()", nextelapse);   
  308. }  
  309. // --></mce:script> 
基于数据挖掘的音乐推荐系统设计与实现 需要一个代码说明,不需要论文 采用python语言,django框架,mysql数据库开发 编程环境:pycharm,mysql8.0 系统分为前台+后台模式开发 网站前台: 用户注册, 登录 搜索音乐,音乐欣赏(可以在线进行播放) 用户登陆时选择相关感兴趣的音乐风格 音乐收藏 音乐推荐算法:(重点) 本课题需要大量用户行为(如播放记录、收藏列表)、音乐特征(如音频特征、歌曲元数据)等数据 (1)根据用户之间相似性或关联性,给一个用户推荐与其相似或有关联的其他用户所感兴趣的音乐; (2)根据音乐之间的相似性或关联性,给一个用户推荐与其感兴趣的音乐相似或有关联的其他音乐。 基于用户的推荐和基于物品的推荐 其中基于用户的推荐是基于用户的相似度找出相似相似用户,然后向目标用户推荐其相似用户喜欢的东西(和你类似的人也喜欢**东西); 而基于物品的推荐是基于物品的相似度找出相似的物品推荐(喜欢该音乐的人还喜欢了**音乐); 管理员 管理员信息管理 注册用户管理,审核 音乐爬虫(爬虫方式爬取网站音乐数据) 音乐信息管理(上传歌曲MP3,以便前台播放) 音乐收藏管理 用户 用户资料修改 我的音乐收藏 完整前后端源码,部署后可正常运行! 环境说明 开发语言:python后端 python版本:3.7 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:pycharm
MPU6050是一款广泛应用在无人机、机器人和运动设备中的六轴姿态传感器,它集成了三轴陀螺仪和三轴加速度计。这款传感器能够实时监测并提供设备的角速度和线性加速度数据,对于理解物体的动态运动状态至关重要。在Arduino平台上,通过特定的库文件可以方便地与MPU6050进行通信,获取并解析传感器数据。 `MPU6050.cpp`和`MPU6050.h`是Arduino库的关键组成部分。`MPU6050.h`是头文件,包含了定义传感器接口和函数声明。它定义了类`MPU6050`,该类包含了初始化传感器、读取数据等方法。例如,`begin()`函数用于设置传感器的工作模式和I2C地址,`getAcceleration()`和`getGyroscope()`则分别用于获取加速度和角速度数据。 在Arduino项目中,首先需要包含`MPU6050.h`头文件,然后创建`MPU6050`对象,并调用`begin()`函数初始化传感器。之后,可以通过循环调用`getAcceleration()`和`getGyroscope()`来不断更新传感器读数。为了处理这些原始数据,通常还需要进行校准和滤波,以消除噪声和漂移。 I2C通信协议是MPU6050与Arduino交互的基础,它是一种低引脚数的串行通信协议,允许多个设备共享一对数据线。Arduino板上的Wire库提供了I2C通信的底层支持,使得用户无需深入了解通信细节,就能方便地与MPU6050交互。 MPU6050传感器的数据包括加速度(X、Y、Z轴)和角速度(同样为X、Y、Z轴)。加速度数据可以用来计算物体的静态位置和动态运动,而角速度数据则能反映物体转动的速度。结合这两个数据,可以进一步计算出物体的姿态(如角度和角速度变化)。 在嵌入式开发领域,特别是使用STM32微控制器时,也可以找到类似的库来驱动MPU6050。STM32通常具有更强大的处理能力和更多的GPIO口,可以实现更复杂的控制算法。然而,基本的传感器操作流程和数据处理原理与Arduino平台相似。 在实际应用中,除了基本的传感器读取,还可能涉及到温度补偿、低功耗模式设置、DMP(数字运动处理器)功能的利用等高级特性。DMP可以帮助处理传感器数据,实现更高级的运动估计,减轻主控制器的计算负担。 MPU6050是一个强大的六轴传感器,广泛应用于各种需要实时运动追踪的项目中。通过 Arduino 或 STM32 的库文件,开发者可以轻松地与传感器交互,获取并处理数据,实现各种创新应用。博客和其他开源资源是学习和解决问题的重要途径,通过这些资源,开发者可以获得关于MPU6050的详细信息和实践指南
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值