實例程式碼詳解javascript實作視窗抖動及qq視窗抖動_javascript技巧
視窗抖動效果在許多地方都有應用,例如網易的登陸窗口就有這樣的效果,當登陸失敗的時候就會出現抖動效果,這不但有動感,而且讓人感覺新穎,下面是一段這樣的程式碼實例,跟大家分享一下。
程式碼如下:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <meta name="author" content="http://www.softwhy.com/" /> <title>窗口登陆效果</title> <style type="text/css"> #win { position:relative; width:100px; height:100px; background-color:#666; } </style> <script type="text/javascript"> var a=['top','left']; var b=0; var u; function fudu() { win.style[a[b%2]]=(b++)%4<2?"0px":"4px"; if(b>15) { clearInterval(u); b=0 } } function zd() { clearInterval(u); u=setInterval(fudu,32) } window.onload=function() { var bt=document.getElementById("bt"); var win=document.getElementById("win"); bt.onclick=zd; } </script> </head> <body > <button id="bt">点击振动</button> <div id="win"></div> </body> </html>
以上程式碼中,當點擊按鈕的時候,div會出現抖動效果,當然此效果比較簡單,這裡僅僅是演示之用,在實際應用中可以自行擴展,下面簡單介紹一下實現過程。
一.實現原理:
程式碼簡單,原理也是非常簡單。 div是採用相對定位,當點擊按鈕的時候,就會透過定時器函數setInterval()不斷呼叫fudu()函數,此函數可以透過取模的方式來不斷的設定left或者top的屬性值,也就是不斷隨機的調整div的位置,這樣就實現了抖動效果,當b的值大於15的時候,停止抖動。
二.程式碼註解:
1.var a=['top','left'],宣告一個數組,裡面儲存有top和left字串。
2.var b=0,宣告一個變數b並賦值為0。
3.var u,宣告一個變量,作為定時器函數setInterval()的回傳值。
4.function fudu(){},宣告一個函數。
5.win.style[a[b%2]]=(b++)%4<2?"0px":"4px",此段程式碼是核心部分,b%2取模運算的值為0或1,這樣就成為數組a的索引值用來取得數組中的值。 style[a[b%]這種形式和style.top這種形式的效果是一樣的。 ]]=(b++)%4<2?"0px":"4px",這樣透過取模判斷值是否小於2,來對div的top和left屬性賦值。
6.if(b>15) {clearInterval(u); b=0} ,如果b的值大於15,那麼就停止抖動,並將b的值重設為0。
7.function zd(){},宣告一個函數。
8.clearInterval(u),停止定時器函數的運行,這句程式碼是為了防止連續點擊按鈕出現抖動可能不停止問題,因為兩個抖動互相影響。
9.u=setInterval(fudu,30),使用定時器函數不斷呼叫fudu函式。
10.window.onload=function(){},當文件內容完全載入完畢再去執行函數中的程式碼。
11.var bt=document.getElementById("bt"),取得按鈕物件。
12.var win=document.getElementById("win"),取得div物件。
13.bt.onclick=zd,為按鈕註冊事件處理函數。
下面要跟大家介紹仿QQ視窗抖動的JavaScript程式碼
很不借的抖動特效,仿QQ聊天窗口的抖動效果,這裡是用JavaScript代碼實現,在配上這個假聊天窗口,沒想到竟然和QQ的抖動效果還真相似,挺逗人。
<title>仿QQ窗口抖动</title> <img id="win" style='position:relative' src="/jscss/demoimg/qqwinows.jpg"> <br /><br /> <button onclick="zd()">让我抖一下!</button> <script > function zd(u){ var a=['top','left'],b=0; u=setInterval(function(){ document.getElementById('win').style[a[b%2]]=(b++)%4<2?0:4; if(b>15){clearInterval(u);b=0} },32) } </script>
透過以上實例程式碼跟大家介紹javascript實作視窗抖動及qq視窗抖動的相關內容,希望本段程式碼能夠幫助大家。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

學習JavaScript不難,但有挑戰。 1)理解基礎概念如變量、數據類型、函數等。 2)掌握異步編程,通過事件循環實現。 3)使用DOM操作和Promise處理異步請求。 4)避免常見錯誤,使用調試技巧。 5)優化性能,遵循最佳實踐。

實現視差滾動和元素動畫效果的探討本文將探討如何實現類似資生堂官網(https://www.shiseido.co.jp/sb/wonderland/)中�...

探索前端中類似VSCode的面板拖拽調整功能的實現在前端開發中,如何實現類似於VSCode...

深入探討console.log輸出差異的根源本文將分析一段代碼中console.log函數輸出結果的差異,並解釋其背後的原因。 �...
