頁面漸進式消失【JS程式碼】
阿新 • • 發佈:2019-05-31
1 // 設定時間,頁面慢慢變透明,直到消失 2 var opacityInterval = setInterval(function () { 3 // 普通時間轉為格林威治時間 4 var targetDate = new Date('2019-05-23 17:20:00') 5 var currentDate = new Date() 6 // 目標時間距1970年毫秒數 7 var time1 = targetDate.getTime() 8 // 當前時間距1970年毫秒數 9 var time2 = currentDate.getTime() 10 // 剩餘時間毫秒數 11 var times = time1 - time2 12 // 設定timeMsec值, 讓 times/timeMsec 的比值小於等於1, 也就是opacity的取值範圍 13 var timeMsec = '' 14 // 剩餘時間少於1小時, 就以一小時為單位, 當然你也可以設定單位為一天、一週、半個月、或半年, 相應改下 targetDate值 15 if (times < 1000 * 60 * 60) { 16 timeMsec = 1000 * 60 * 60 17 } 18 // 計算出均勻透明度 19 var opacityRate = (times / timeMsec).toFixed(2) 20 if (times > 0) { 21 document.getElementsByTagName("body")[0].style.opacity = opacityRate 22 } else { 23 // 剩餘時間為0, 設定opacityRate為0, 並清除定時器 24 opacityRate = 0 25 clearInterval(opacityInterval) 26 } 27 }, 3000)
在github上面看到的 ,程式碼挺簡單的,但是效果還可以,大家可以試試,挺有意思的。
順便分享一個JS+CSS3 讓圖片爆炸的效果 源地址 :https://github.com/chokcoco/boomJS
Usage
1 <!-- style --> 2 <link rel="stylesheet" type="text/css" href="Boom.css" /> 3 <!-- scripts --> 4 <script src="jquery.js"></script> 5 <!-- scripts --> 6 <script src="boom.js"></script> 7 8 <script> 9 // 呼叫方法: 10 //法一:傳入圖片的 jQuery 物件 11 boom($('img')) 12 13 // 法二:構建 boom 例項,傳入圖片的 jQuery 物件 14 var bom = boom(); 15 bom.boom($('img')); 16 </script>
API
1 boom($('img'),{ 2 // 縮放值 3 'scaleLevel' : 3, 4 // 模糊值 5 'blurLevel': 9, 6 // 彈射距離 7 'boomLevel': 4, 8 // 爆炸時長 9 'boomTime':800, 10 // 是否開啟日誌 11 'isOpenLog':true 12 });
溫馨提示,不建議將 scaleLevel 的值設太高 :) 。
IOS 下的效果
UIViewXXYBoom
之前在 IOS 上面看到了一個這樣的效果,尋思著能否用 Javascript 實現一遍,搗鼓了一番做出瞭如上圖所示效果,因為是非 canvas ,無法取到圖片上的色值,使用了背景圖定位代替,所以效能方面可能有所不足。
&n