>  기사  >  웹 프론트엔드  >  윈도우 지터 및 qq 윈도우 jitter_javascript 기술의 자바스크립트 구현에 대한 예제 코드 자세한 설명

윈도우 지터 및 qq 윈도우 jitter_javascript 기술의 자바스크립트 구현에 대한 예제 코드 자세한 설명

WBOY
WBOY원래의
2016-05-16 15:22:141053검색

창 지터 효과는 여러 곳에서 사용됩니다. 예를 들어 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() 함수가 계속 호출됩니다. 이 함수는 모듈로 메서드를 통해 계속해서 속성 값을 설정할 수 있습니다. 지터링 효과를 얻기 위해 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), 타이머 함수의 실행을 중지합니다. 이 코드는 두 개의 지터가 서로 영향을 미치기 때문에 버튼을 계속 클릭할 때 중지되지 않는 문제를 방지하기 위한 것입니다.
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 창 흔들림을 흉내낸 자바스크립트 코드입니다

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&#63;0:4;
 if(b>15){clearInterval(u);b=0}
 },32)
}
</script>

위 예제 코드를 통해 자바스크립트를 이용한 윈도우 지터와 QQ 윈도우 지터 구현 방법을 소개하겠습니다. 이 코드가 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.