겨울이 왔는데, 많은 블로그 공간에서 눈꽃 효과를 추가해서 그 효과가 어떻게 구현되었는지 보러 갔습니다. 효과코드가 여러개 있어서 가지고 왔는데, 필요한 친구들이 가져가서 사용해 볼 수 있어요.
눈송이 큰 그림:
효과 코드 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" ? "Y": "X"; if (typeof window["page" + b + "Offset"] != "undefined") a[type.toLowerCase()] = window["page" + b + "Offset"]; else { b = document.documentElement.clientHeight ? 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 파일에 직접 복사하여 붙여넣으세요. 기사 페이지만 표시되도록 하려면 싱글에 직접 추가하면 됩니다. 아래에서는 눈송이 사진(필수자료)을 모두에게 제공하고 있으며, 작은 사진 : 블로그의 현재 테마에 업로드한 후, 코드의 링크를 사진 위치로 변경해야 합니다. 효과는 이 페이지와 같습니다.
효과 코드 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가지 효과 코드가 끝났습니다. 도움이 필요한 친구들에게 도움이 되기를 바랍니다. 질문이 있으시면 아래에 메시지를 남겨주세요.