>웹 프론트엔드 >JS 튜토리얼 >wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법

wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법

WBOY
WBOY원래의
2016-05-16 16:26:352481검색

겨울이 왔는데, 많은 블로그 공간에서 눈꽃 효과를 추가해서 그 효과가 어떻게 구현되었는지 보러 갔습니다. 효과코드가 여러개 있어서 가지고 왔는데, 필요한 친구들이 가져가서 사용해 볼 수 있어요.

눈송이 큰 그림:

wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법

효과 코드 1

<script type="text/javascript" language="javascript">
(function() {
function k(a, b, c) {
if (a.addEventListener) a.addEventListener(b, c, false);
else a.attachEvent && a.attachEvent("on" + b, c)
}
function g(a) {
if (typeof window.onload != "function") window.onload = a;
else {
var b = window.onload;
window.onload = function() {
b();
a()
}
}
}
function h() {
var a = {};
for (type in {
Top: "",
Left: ""
}) {
var b = type == "Top" &#63; "Y": "X";
if (typeof window["page" + b + "Offset"] != "undefined")
a[type.toLowerCase()] = window["page" + b + "Offset"];
else {
b = document.documentElement.clientHeight &#63; document.documentElement: document.body;
a[type.toLowerCase()] = b["scroll" + type]
}
}
return a
}
function l() {
var a = document.body,
b;
if (window.innerHeight) b = window.innerHeight;
else if (a.parentElement.clientHeight) b = a.parentElement.clientHeight;
else if (a && a.clientHeight) b = a.clientHeight;
return b
}
function i(a) {
this.parent = document.body;
this.createEl(this.parent, a);
this.size = Math.random() * 5 + 5;
this.el.style.width = Math.round(this.size) + "px";
this.el.style.height = Math.round(this.size) + "px";
this.maxLeft = document.body.offsetWidth - this.size;
this.maxTop = document.body.offsetHeight - this.size;
this.left = Math.random() * this.maxLeft;
this.top = h().top + 1;
this.angle = 1.4 + 0.2 * Math.random();
this.minAngle = 1.4;
this.maxAngle = 1.6;
this.angleDelta = 0.01 * Math.random();
this.speed = 2 + Math.random()
}
var j = false;
g(function() {
j = true
});
var f = true;
window.createSnow = function(a, b) {
if (j) {
var c = [],
m = setInterval(function() {
f && b > c.length && Math.random()
< b * 0.0025 && c.push(new i(a)); ! f && !c.length && clearInterval(m);
for (var e = h().top, n = l(), d = c.length - 1; d >= 0; d--)
if (c[d]) if (c[d].top < e || c[d].top + c[d].size + 1 > e + n) {
c[d].remove();
c[d] = null;
c.splice(d, 1)
} else {
c[d].move();
c[d].draw()
}
},
40);
k(window, "scroll",
function() {
for (var e = c.length - 1; e >= 0; e--) c[e].draw()
})
} else g(function() {
createSnow(a, b)
})
};
window.removeSnow = function() {
f = false
};
i.prototype = {
createEl: function(a, b) {
this.el = document.createElement("img");
this.el.setAttribute
("src", b + "雪花图片的绝对链接地址");
this.el.style.position = "absolute";
this.el.style.display = "block";
this.el.style.zIndex = "99999";
this.parent.appendChild(this.el)
},
move: function() {
if (this.angle < this.minAngle || this.angle > this.maxAngle)
this.angleDelta = -this.angleDelta;
this.angle += this.angleDelta;
this.left += this.speed * Math.cos(this.angle * Math.PI);
this.top -= this.speed * Math.sin(this.angle * Math.PI);
if (this.left < 0) this.left = this.maxLeft;
else if (this.left > this.maxLeft) this.left = 0
},
draw: function() {
this.el.style.top = Math.round(this.top) + "px";
this.el.style.left = Math.round(this.left) + "px"
},
remove: function() {
this.parent.removeChild(this.el);
this.parent = this.el = null
}
}
})();
createSnow("", 40);
</script>

위 코드를 테마의 Header 또는 Footer 파일에 직접 복사하여 붙여넣으세요. 기사 페이지만 표시되도록 하려면 싱글에 직접 추가하면 됩니다. 아래에서는 눈송이 사진(필수자료)을 모두에게 제공하고 있으며, wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법 작은 사진 : 블로그의 현재 테마에 업로드한 후, 코드의 링크를 사진 위치로 변경해야 합니다. 효과는 이 페이지와 같습니다.

효과 코드 2:

 <html>
<head>
<script>
function start(){
var array=new Array();
var canvas=document.getElementById("mycanvas");
var context=canvas.getContext("2d");
for(var i=0;i<50;i++){
var Showwordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법=new showwordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법();
array.push(Showwordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법);
}
time=setInterval(function (){
context.clearRect(0,0,canvas.width,canvas.height);
for(var i=0;i<array.length;i++){
array[i].move();
array[i].draw(context);
}
},500);
}
function showwordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법(){
var y=parseInt(Math.random()*50)*10;
var x=parseInt(Math.random()*80)*10;
this.draw=function(context){
context.font="50px Calibri";
context.fillText("*",x,y);
}
this.move=function(){
y+=20;
if(y>600){
y=0;
}
}
}
</script>
</head>
<body>
<input type="button" value="start" onclick="start()" />
<br/>
<canvas id="mycanvas" height="600px" width="600px" style="border: 3px solid blue"></canvas>
</body>
</html>

이 효과는 다음과 같이 나타납니다(느낌이 좋지 않아 권장되지 않음).

효과 코드 3

실제로 Let it wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법 플러그인을 사용하여 WordPress 블로그에 떨어지는 눈송이를 구현할 수도 있습니다.

여기에서는 let it wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법 플러그인 사용 방법에 대해 자세히 설명하지 않겠습니다. 다른 플러그인 설치와 다르지 않습니다. let it wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법 폴더에 있는 파일을 직접 다운로드하여 업로드할 수 있습니다. /wp-content/plugins/ 디렉토리를 클릭한 다음 이 플러그인을 활성화하려면 WordPress 관리자 패널 메뉴에서 플러그인을 설정하기만 하면 됩니다. 아니면 백 플러그인 라이브러리에서 직접 검색해서 찾아보실 수도 있습니다.

let it wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법 공식 홈페이지: 클릭하여 방문하세요

효과 코드 4

인터넷에서 매우 강력한 SnowStorm 플러그인을 보았습니다. Google에서 let it wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법를 검색하면 눈과 서리 효과에 대한 코드가 생성되는 것 같습니다. 어린이 신발이 좋다고 생각하시면 공식 홈페이지에 가서 확인해 보세요.

여러분과 공유하기 위해 인터넷에서 간단한 무작위 눈송이 낙하 효과 코드를 찾았습니다(이 효과는 순수 코드로 작성되었습니다. 눈송이는 *입니다.):

내부 기능 중 일부를 간략하게 설명하겠습니다.

1.렛잇스노우()

눈이 옵니다(이 문장은 아직 쓸모가 없습니다). 그런 다음 createSnow를 호출하여 눈송이를 생성합니다.

2.createSnow()

눈송이를 생성합니다. 각 눈송이는 태그에 "*"를 넣어서 눈송이를 시뮬레이션합니다(Google의 사본은 다운로드할 수 없으며 실제로는 공백으로 표시됩니다. 정말 놀랐습니다... ), 그리고 그것을 큰 컨테이너에 담는다. 컨테이너는 wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Box라고 불리며, 생성된 개체들은 iArray에 밀어넣어 수집된다. 눈송이는 wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Box를 기준으로 절대 위치 지정 방식을 사용하며, 왼쪽은 Math.random()*window.screen.width를 사용하여 화면 너비에 맞춰 무작위로 눈송이를 생성합니다.

색상을 사용하여 눈송이의 색상 심도를 제어하여 0~200 범위의 피사계 심도를 만듭니다.
FontSize를 사용하여 10px에서 15px까지 눈송이의 크기를 제어하세요.
시간을 이용해 Snowflake Falling의 호출 간격을 40ms에서 50ms까지 제어하세요
wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Interval을 사용하여 500ms에서 1000ms까지 눈송이 사이의 간격을 제어하세요

그런 다음 자신을 재귀적으로 호출하여 지속적으로 눈송이를 생성합니다.

3.폴다운()

이름에서 알 수 있듯이 눈송이가 떨어지는 속도는 2px, 즉 수직으로 떨어질 때마다 2px입니다. 이때 테스트를 수행하십시오. 눈송이가 고정된 높이, 즉 상위 컨테이너보다 높은 경우 제거하십시오. 이렇게 하면 브라우저에 가해지는 압력이 줄어들 수 있습니다. 그렇지 않으면 너무 많은 눈송이로 인해 브라우저가 느리게 움직입니다. 어쨌든, Overflow:hidden에 의해 보기에서 제거되었습니다. 그런 다음 수직으로 하강하면서 windBlow 함수를 호출하여 눈송이가 더욱 예술적으로 떨어지게 만듭니다.

4. 바람불기()

이름이 바람이 부는 것 같지만 실제로는 바람이 부는 효과입니다(이게 더 쓸데없네요. ㅎㅎ). Math.sin()을 사용하여 눈송이가 공중에 떠 있는 효과를 연출하고, 눈송이가 단조로운 직선이 되지 않도록 떨어지는 대신 꾸불꾸불한 형태로 떨어지는 간격을 조절하여 연속성이 좋아 보이고 더욱 편안해 보입니다.

function letItSnow(){
	var wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Box=document.getElementById("wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Box");
	var iArray=new Array();
	createSnow(wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Box,iArray);

}
function fallDown(temObj,iArray){
	var speed=2;
	var top=parseInt(temObj.style.top);
	if(top>510){//当到超过高度时候就删了它,减轻浏览器压力
		for(var i=0;i<iArray.length;i++){
			if(temObj==iArray[i]){
				iArray.splice(i,1);
				var wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Box=document.getElementById("wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Box");
				wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Box.removeChild(temObj);
				return false;
			}
		}
	}
	temObj.style.top=top+speed+"px";
	var wind=windBlow(temObj,top);
	temObj.style.left=parseInt(temObj.style.left)+wind*2+"px";
}
function windBlow(temObj,top){
	if(parseInt(Math.random())%2==1)
	return Math.sin(top/16);
	else return Math.cos(top/16);
}
function createSnow(wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Box,iArray){
	var temObj=document.createElement("i");
	var temText=document.createTextNode("*");
	temObj.appendChild(temText);
	temObj.style.left=parseInt(Math.random()*window.screen.width)+"px";
	temObj.style.top="0px";
	var temNum=parseInt(Math.random()*200);
	temObj.style.color="#"+temNum.toString(16)+temNum.toString(16)+temNum.toString(16);
	iArray.push(temObj);
	wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Box.appendChild(temObj);
	var temNum=0;
	while(temNum<10){
		temNum=parseInt(Math.random()*15);
	}
	temObj.style.fontSize=temNum+"px";

	var time=0;
	while(time<40){
		time=parseInt(Math.random()*50);
	}
	temObj.timer=setInterval(function(){
		fallDown(temObj,iArray);								
	},time);
	var wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Interval=0;
	while(wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Interval<500){
		wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Interval=parseInt(Math.random()*1000);
	}
	var createTimer=setTimeout(function(){
		createSnow(wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Box,iArray);	
		clearTimeout(createTimer);
	},wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법Interval);
}

데모 주소: http://demo.jb51.net/js/2014/wordpress_javascript 기술에서 눈송이 떨어지는 효과를 얻기 위해 js 코드와 플러그인을 사용하는 네 가지 방법/

자, 이것으로 4가지 효과 코드가 끝났습니다. 도움이 필요한 친구들에게 도움이 되기를 바랍니다. 질문이 있으시면 아래에 메시지를 남겨주세요.

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