이 기사의 예에서는 jquery+css3가 작은 원을 이동하는 효과를 얻는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
런닝 효과 스크린샷은 다음과 같습니다.
구체적인 코드는 다음과 같습니다.
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8" /> <title>那些变换颜色的小豆豆</title> <script type="text/javascript" src="jquery.js"></script> <style type="text/css"> h1{font-size:16px;} .circle { position:absolute; width:100px; height:100px; border-radius: 50px; -webkit-border-radius:50px; -moz-border-radius:50px; -o-border-radius:50px; -ms-border-radius:50px; border:1px solid #ddd; background-color:#eee; text-align:center; -moz-transition:background-color .5s ease-in; -webkit-transition:background-color .5s ease-in; -o-transition:background-color .5s ease-in; -ms-transition:background-color .5s ease-in; transition:background-color .5s ease-in; } </style> <script type="text/javascript" > var colorArray = "ABCDEFabcdef1234567890".split(''); function createCircle(position, size){ var html = []; var radius = size.height > size.width ? size.height/2 : size.width / 2; var opacity = Math.random(); opacity = opacity < 0.3 ? opacity = 0.3 : opacity; html.push('<div class="circle" style="left:'+position.left+'px; top:'+position.top+'px;'); html.push('width:'+size.width+'px; height:'+size.height+'px; '); html.push('border-radius:'+radius+'px;'); html.push('-webkit-border-radius:'+radius+'px;'); html.push('-moz-border-radius:'+radius+'px;'); html.push('-o-border-radius:'+radius+'px;'); html.push('-ms-border-radius:'+radius+'px;'); html.push('opacity:'+opacity+';'); html.push('filter:alpha(opacity='+Math.round(opacity*100)+')'); html.push('" ></div>'); return html.join(''); } function createColor(){ var color = ""; for(var i=0; i<6; i++) { color += colorArray[Math.ceil(Math.random()*21)]; } return "#"+color; } function animate(obj){ setInterval(function(){ var position = obj.position(); var left = parseInt(position.left); var top = parseInt(position.top); obj.css('background-color', createColor()); obj.animate({'left': left + 5}, 250); obj.animate({'left': left - 5, 'top': top + 5}, 250); obj.animate({'top': top}, 250); obj.animate({'left': left, 'top': top}, 250); }, 1000); } $(document).ready(function(){ var wrapper = $("#wrapper"); var height = parseInt(document.documentElement.clientHeight || 500); var width = parseInt(wrapper.width()); for(var i=0; i<200; i++) { var position = { left: Math.round(Math.random()*(width - 50)), top: Math.round(Math.random()*(height - 100)) }; var _size = 50 - Math.round(Math.random()*40); var size = { height: _size, width: _size }; var circle = $(createCircle(position, size)); circle.appendTo(wrapper); circle.mouseover(function(){ var color = createColor(); $(this).css('background-color', color); }).mouseout(function(){ var color = createColor(); $(this).css('background-color', color); }); animate(circle); } }); </script> </head> <body id="wrapper"> <div id="wrapper"> </div> </body> </html>
jQuery 특수 효과와 관련된 더 많은 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제인 "jQuery의 일반적인 클래식 특수 효과 요약" 및 "jQuery 애니메이션 요약"을 확인할 수 있습니다. 및 특수효과 활용"
이 기사가 jQuery 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.