ホームページ  >  記事  >  ウェブフロントエンド  >  サンプルコード window jitter の JavaScript 実装と QQ window jitter_javascript スキルの詳細説明

サンプルコード window jitter の JavaScript 実装と QQ window jitter_javascript スキルの詳細説明

WBOY
WBOYオリジナル
2016-05-16 15:22:141056ブラウズ

ウィンドウのジッター効果はさまざまな場所で使用されています。たとえば、NetEase のログイン ウィンドウには、動的であるだけでなく、人々に斬新な印象を与える効果があります。このような段落でコード例を共有したいと思います。

コードは次のとおりです:

<!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&#63;"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 にジッター効果が生じます。これはデモのためのものであり、実際のアプリケーションで拡張することができます。導入プロセスへ。

1. 実装原則:

コードはシンプルで、原理も非常にシンプルです。 div は相対位置を採用しており、ボタンがクリックされると、タイマー関数 setInterval() を通じて継続的に fudu() 関数が呼び出されます。この関数は、modulo メソッドを通じて、つまり継続的に left または top の属性値を設定できます。 div の位置をランダムに調整してジッタリング効果を実現します。b の値が 15 を超えると、ジッタリングが停止します。

2. コードのコメント:

1.var a=['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 の上部と左の属性に値を割り当てることができます。 。
6.if(b>15) {clearInterval(u); b=0}、b の値が 15 より大きい場合、ディザリングを停止し、b の値を 0 にリセットします。
7.function zd(){}、関数を宣言します。
8. clearInterval(u)、タイマー関数の実行を停止します。このコードは、2 つのジッターが相互に影響を与えるため、ボタンがクリックされ続けると停止しない可能性があるジッターの問題を回避するためのものです。
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 チャット ウィンドウのシェイク エフェクトを模倣した非常にユニークなシェイク エフェクトです。この偽のチャット ウィンドウは、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&#63;0:4;
 if(b>15){clearInterval(u);b=0}
 },32)
}
</script>

上記のサンプル コードを通じて、JavaScript を使用したウィンドウ ジッターと QQ ウィンドウ ジッターの実装を紹介します。このコードが役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。