{"id":30884,"date":"2024-11-25T16:54:51","date_gmt":"2024-11-25T08:54:51","guid":{"rendered":"https:\/\/fwq.ai\/blog\/30884\/"},"modified":"2024-11-25T16:54:51","modified_gmt":"2024-11-25T08:54:51","slug":"%e5%be%ae%e4%bf%a1%e5%b0%8f%e7%a8%8b%e5%ba%8f%e4%b8%ad%e8%8e%b7%e5%8f%96%e9%aa%8c%e8%af%81%e7%a0%81%e5%80%92%e8%ae%a1%e6%97%b660s%e7%9a%84%e5%ae%9e%e4%be%8b%e5%88%86%e6%9e%90","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/30884\/","title":{"rendered":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u4e2d\u83b7\u53d6\u9a8c\u8bc1\u7801\u5012\u8ba1\u65f660s\u7684\u5b9e\u4f8b\u5206\u6790"},"content":{"rendered":"<p>\u8fd9\u7bc7\u6587\u7ae0\u4e3b\u8981\u4e3a\u5927\u5bb6\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5b9e\u73b0\u5012\u8ba1\u65f660s\u83b7\u53d6\u9a8c\u8bc1\u7801\uff0c\u5177\u6709\u4e00\u5b9a\u7684\u53c2\u8003\u4ef7\u503c\uff0c\u611f\u5174\u8da3\u7684\u5c0f\u4f19\u4f34\u4eec\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b<\/p>\n<p>\u672c\u6587\u5b9e\u4f8b\u4e3a\u5927\u5bb6\u5206\u4eab\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5012\u8ba1\u65f6\u83b7\u53d6\u9a8c\u8bc1\u7801\u7684\u5177\u4f53\u4ee3\u7801\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\uff0c\u5177\u4f53\u5185\u5bb9\u5982\u4e0b<\/p>\n<p>1\u3001\u5de5\u5177\u7c7b\uff08\u5f15\u7528\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u63d0\u4f9b\u7684\u5de5\u5177\u7c7b\uff09<\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/194\/ff95197e785c7bf3177cca4de5e123a7-0.jpg\" class=\"aligncenter\" title=\"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u4e2d\u83b7\u53d6\u9a8c\u8bc1\u7801\u5012\u8ba1\u65f660s\u7684\u5b9e\u4f8b\u5206\u6790\u63d2\u56fe\" alt=\"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u4e2d\u83b7\u53d6\u9a8c\u8bc1\u7801\u5012\u8ba1\u65f660s\u7684\u5b9e\u4f8b\u5206\u6790\u63d2\u56fe\" \/><\/p>\n<p>countdown.js<\/p>\n<pre>class&nbsp;Countdown&nbsp;{\r\nconstructor(options&nbsp;=&nbsp;{})&nbsp;{\r\nObject.assign(this,&nbsp;{\r\noptions,&nbsp;\r\n})\r\nthis.__init()\r\n}\r\n\/**\r\n*&nbsp;\u521d\u59cb\u5316\r\n*\/\r\n__init()&nbsp;{\r\nthis.page&nbsp;=&nbsp;getCurrentPages()[getCurrentPages().length&nbsp;-&nbsp;1]\r\nthis.setData&nbsp;=&nbsp;this.page.setData.bind(this.page)\r\nthis.restart(this.options)\r\n}\r\n\/**\r\n*&nbsp;\u9ed8\u8ba4\u53c2\u6570\r\n*\/\r\nsetDefaults()&nbsp;{\r\nreturn&nbsp;{\r\ndate:&nbsp;`June&nbsp;7,&nbsp;2087&nbsp;15:03:25`,&nbsp;\r\nrefresh:&nbsp;1000,&nbsp;\r\noffset:&nbsp;0,&nbsp;\r\nonEnd()&nbsp;{},&nbsp;\r\nrender(date)&nbsp;{},&nbsp;\r\n}\r\n}\r\n\/**\r\n*&nbsp;\u5408\u5e76\u53c2\u6570\r\n*\/\r\nmergeOptions(options)&nbsp;{\r\nconst&nbsp;defaultOptions&nbsp;=&nbsp;this.setDefaults()\r\nfor&nbsp;(let&nbsp;i&nbsp;in&nbsp;defaultOptions)&nbsp;{\r\nif&nbsp;(defaultOptions.hasOwnProperty(i))&nbsp;{\r\nthis.options[i]&nbsp;=&nbsp;typeof&nbsp;options[i]&nbsp;!==&nbsp;`undefined`&nbsp;?&nbsp;options[i]&nbsp;:&nbsp;defaultOptions[i]\r\nif&nbsp;(i&nbsp;===&nbsp;`date`&nbsp;&amp;amp;&amp;amp;&nbsp;typeof&nbsp;this.options.date&nbsp;!==&nbsp;`object`)&nbsp;{\r\nthis.options.date&nbsp;=&nbsp;new&nbsp;Date(this.options.date)\r\n}\r\nif&nbsp;(typeof&nbsp;this.options[i]&nbsp;===&nbsp;`function`)&nbsp;{\r\nthis.options[i]&nbsp;=&nbsp;this.options[i].bind(this)\r\n}\r\n}\r\n}\r\nif&nbsp;(typeof&nbsp;this.options.date&nbsp;!==&nbsp;`object`)&nbsp;{\r\nthis.options.date&nbsp;=&nbsp;new&nbsp;Date(this.options.date)\r\n}\r\n}\r\n\/**\r\n*&nbsp;\u8ba1\u7b97\u65e5\u671f\u5dee\r\n*\/\r\ngetDiffDate()&nbsp;{\r\nlet&nbsp;diff&nbsp;=&nbsp;(this.options.date.getTime()&nbsp;-&nbsp;Date.now()&nbsp;+&nbsp;this.options.offset)&nbsp;\/&nbsp;1000\r\nlet&nbsp;dateData&nbsp;=&nbsp;{\r\nyears:&nbsp;0,\r\ndays:&nbsp;0,\r\nhours:&nbsp;0,\r\nmin:&nbsp;0,\r\nsec:&nbsp;0,\r\nmillisec:&nbsp;0,\r\n}\r\nif&nbsp;(diff&nbsp;=&nbsp;(365.25&nbsp;*&nbsp;86400))&nbsp;{\r\ndateData.years&nbsp;=&nbsp;Math.floor(diff&nbsp;\/&nbsp;(365.25&nbsp;*&nbsp;86400))\r\ndiff&nbsp;-=&nbsp;dateData.years&nbsp;*&nbsp;365.25&nbsp;*&nbsp;86400\r\n}\r\nif&nbsp;(diff&nbsp;&amp;gt;=&nbsp;86400)&nbsp;{\r\ndateData.days&nbsp;=&nbsp;Math.floor(diff&nbsp;\/&nbsp;86400)\r\ndiff&nbsp;-=&nbsp;dateData.days&nbsp;*&nbsp;86400\r\n}\r\nif&nbsp;(diff&nbsp;&amp;gt;=&nbsp;3600)&nbsp;{\r\ndateData.hours&nbsp;=&nbsp;Math.floor(diff&nbsp;\/&nbsp;3600)\r\ndiff&nbsp;-=&nbsp;dateData.hours&nbsp;*&nbsp;3600\r\n}\r\nif&nbsp;(diff&nbsp;&amp;gt;=&nbsp;60)&nbsp;{\r\ndateData.min&nbsp;=&nbsp;Math.floor(diff&nbsp;\/&nbsp;60)\r\ndiff&nbsp;-=&nbsp;dateData.min&nbsp;*&nbsp;60\r\n}\r\ndateData.sec&nbsp;=&nbsp;Math.round(diff)\r\ndateData.millisec&nbsp;=&nbsp;diff&nbsp;%&nbsp;1&nbsp;*&nbsp;1000\r\nreturn&nbsp;dateData\r\n}\r\n\/**\r\n*&nbsp;\u8865\u96f6\r\n*\/\r\nleadingZeros(num,&nbsp;length&nbsp;=&nbsp;2)&nbsp;{\r\nnum&nbsp;=&nbsp;String(num)\r\nif&nbsp;(num.length&nbsp;&amp;gt;&nbsp;length)&nbsp;return&nbsp;num\r\nreturn&nbsp;(Array(length&nbsp;+&nbsp;1).join(`0`)&nbsp;+&nbsp;num).substr(-length)\r\n}\r\n\/**\r\n*&nbsp;\u66f4\u65b0\u7ec4\u4ef6\r\n*\/\r\nupdate(newDate)&nbsp;{\r\nthis.options.date&nbsp;=&nbsp;typeof&nbsp;newDate&nbsp;!==&nbsp;`object`&nbsp;?&nbsp;new&nbsp;Date(newDate)&nbsp;:&nbsp;newDate\r\nthis.render()\r\nreturn&nbsp;this\r\n}\r\n\/**\r\n*&nbsp;\u505c\u6b62\u5012\u8ba1\u65f6\r\n*\/\r\nstop()&nbsp;{\r\nif&nbsp;(this.interval)&nbsp;{\r\nclearInterval(this.interval)\r\nthis.interval&nbsp;=&nbsp;!1\r\n}\r\nreturn&nbsp;this\r\n}\r\n\/**\r\n*&nbsp;\u6e32\u67d3\u7ec4\u4ef6\r\n*\/\r\nrender()&nbsp;{\r\nthis.options.render(this.getDiffDate())\r\nreturn&nbsp;this\r\n}\r\n\/**\r\n*&nbsp;\u542f\u52a8\u5012\u8ba1\u65f6\r\n*\/\r\nstart()&nbsp;{\r\nif&nbsp;(this.interval)&nbsp;return&nbsp;!1\r\nthis.render()\r\nif&nbsp;(this.options.refresh)&nbsp;{\r\nthis.interval&nbsp;=&nbsp;setInterval(()&nbsp;=&amp;gt;&nbsp;{\r\nthis.render()\r\n},&nbsp;this.options.refresh)\r\n}\r\nreturn&nbsp;this\r\n}\r\n\/**\r\n*&nbsp;\u66f4\u65b0offset\r\n*\/\r\nupdateOffset(offset)&nbsp;{\r\nthis.options.offset&nbsp;=&nbsp;offset\r\nreturn&nbsp;this\r\n}\r\n\/**\r\n*&nbsp;\u91cd\u542f\u5012\u8ba1\u65f6\r\n*\/\r\nrestart(options&nbsp;=&nbsp;{})&nbsp;{\r\nthis.mergeOptions(options)\r\nthis.interval&nbsp;=&nbsp;!1\r\nthis.start()\r\nreturn&nbsp;this\r\n}\r\n}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>export default Countdown<\/p>\n<p>2\u3001WXML\u90e8\u5206\uff1a<\/p>\n<pre>&lt;view&gt;\r\n&nbsp;&lt;view&gt;{{&nbsp;c2&nbsp;||&nbsp;'\u83b7\u53d6\u9a8c\u8bc1\u7801'&nbsp;}}&lt;\/view&gt;&lt;\/view&gt;<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>3\u3001JS\u90e8\u5206:<\/p>\n<pre>import&nbsp;$wuxCountDown&nbsp;from&nbsp;'countdown\/countdown'\r\nexport&nbsp;{\r\n&nbsp;$wuxCountDown,&nbsp;\r\n}\r\nimport&nbsp;{&nbsp;$wuxCountDown&nbsp;}&nbsp;from&nbsp;'..\/..\/components\/wux'\r\n&nbsp;vcode:&nbsp;function&nbsp;()&nbsp;{\r\n&nbsp;if&nbsp;(this.c2&nbsp;&amp;amp;&amp;amp;&nbsp;this.c2.interval)&nbsp;return&nbsp;!1\r\n&nbsp;this.c2&nbsp;=&nbsp;new&nbsp;$wuxCountDown({\r\n&nbsp;date:&nbsp;+(new&nbsp;Date)&nbsp;+&nbsp;60000,\r\n&nbsp;onEnd()&nbsp;{\r\n&nbsp;this.setData({\r\n&nbsp;&nbsp;c2:&nbsp;'\u91cd\u65b0\u83b7\u53d6\u9a8c\u8bc1\u7801',\r\n&nbsp;})\r\n&nbsp;},\r\n&nbsp;render(date)&nbsp;{\r\n&nbsp;const&nbsp;sec&nbsp;=&nbsp;this.leadingZeros(date.sec,&nbsp;2)&nbsp;+&nbsp;'&nbsp;\u79d2\u540e\u91cd\u53d1&nbsp;'\r\n&nbsp;date.sec&nbsp;!==&nbsp;0&nbsp;&amp;amp;&amp;amp;&nbsp;this.setData({\r\n&nbsp;&nbsp;c2:&nbsp;sec,\r\n&nbsp;})\r\n&nbsp;},\r\n&nbsp;})\r\n&nbsp;}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u4e2d\u83b7\u53d6\u9a8c\u8bc1\u7801\u5012\u8ba1\u65f660s\u7684\u5b9e\u4f8b\u5206\u6790\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u7bc7\u6587\u7ae0\u4e3b\u8981\u4e3a\u5927\u5bb6\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5b9e\u73b0\u5012\u8ba1\u65f660s\u83b7\u53d6\u9a8c\u8bc1\u7801\uff0c\u5177\u6709\u4e00\u5b9a\u7684\u53c2\u8003\u4ef7\u503c\uff0c\u611f\u5174\u8da3\u7684\u5c0f\u4f19\u4f34\u4eec\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b \u672c\u6587\u5b9e\u4f8b\u4e3a\u5927\u5bb6\u5206\u4eab\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5012\u8ba1\u65f6\u83b7\u53d6\u9a8c\u8bc1\u7801\u7684\u5177\u4f53\u4ee3\u7801\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\uff0c\u5177\u4f53\u5185\u5bb9\u5982\u4e0b 1\u3001\u5de5\u5177\u7c7b\uff08\u5f15\u7528\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u63d0\u4f9b\u7684\u5de5\u5177\u7c7b\uff09 countdown.js class&nbsp;Countdown&nbsp;{ constructor(options&nbsp;=&nbsp;{})&nbsp;{ Object.assign(this,&nbsp;{ options,&nbsp; }) this.__init() } \/** *&nbsp;\u521d\u59cb\u5316 *\/ __init()&nbsp;{ this.page&nbsp;=&nbsp;getCurrentPages()[getCurrentPages().length&nbsp;&#8211;&nbsp;1] this.setData&nbsp;=&nbsp;this.page.setData.bind(this.page) this.restart(this.options) } \/** *&nbsp;\u9ed8\u8ba4\u53c2\u6570 *\/ setDefaults()&nbsp;{ return&nbsp;{ date:&nbsp;`June&nbsp;7,&nbsp;2087&nbsp;15:03:25`,&nbsp; refresh:&nbsp;1000,&nbsp; offset:&nbsp;0,&nbsp; onEnd()&nbsp;{},&nbsp; render(date)&nbsp;{},&nbsp; } } \/** *&nbsp;\u5408\u5e76\u53c2\u6570 *\/ mergeOptions(options)&nbsp;{ const&nbsp;defaultOptions&nbsp;=&nbsp;this.setDefaults() for&nbsp;(let&nbsp;i&nbsp;in&nbsp;defaultOptions)&nbsp;{ if&nbsp;(defaultOptions.hasOwnProperty(i))&nbsp;{ this.options[i]&nbsp;=&nbsp;typeof&nbsp;options[i]&nbsp;!==&nbsp;`undefined`&nbsp;?&nbsp;options[i]&nbsp;:&nbsp;defaultOptions[i] if&nbsp;(i&nbsp;===&nbsp;`date`&nbsp;&amp;amp;&amp;amp;&nbsp;typeof&nbsp;this.options.date&nbsp;!==&nbsp;`object`)&nbsp;{ this.options.date&nbsp;=&nbsp;new&nbsp;Date(this.options.date) } if&nbsp;(typeof&nbsp;this.options[i]&nbsp;===&nbsp;`function`)&nbsp;{ this.options[i]&nbsp;=&nbsp;this.options[i].bind(this) } } } if&nbsp;(typeof&nbsp;this.options.date&nbsp;!==&nbsp;`object`)&nbsp;{ this.options.date&nbsp;=&nbsp;new&nbsp;Date(this.options.date) } } \/** *&nbsp;\u8ba1\u7b97\u65e5\u671f\u5dee *\/ getDiffDate()&nbsp;{ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-30884","post","type-post","status-publish","format-standard","hentry","category-19"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/30884","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=30884"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/30884\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=30884"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=30884"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=30884"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}