js 메소드:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <script type="text/javascript"> window.onload=function(){ //写入 var oneInner = document.createElement("div"); oneInner.setAttribute("style","background:#663398;position:absolute;width:100px;height:100px;border:solid 3px #2F74A7;cursor:pointer;"); var oneButton = document.createElement("input"); oneButton.setAttribute("type","button"); oneButton.setAttribute("value","x"); if (oneButton.style.cssFloat) { oneButton.style.cssFloat="right" } else {oneButton.style.styleFloat="right"} oneInner.appendChild(oneButton); document.body.appendChild(oneInner); //定时器 var a1a = setInterval(moves,100); //函数 var x = 10; var y = 10; function moves(){ var tops = oneInner.offsetTop var lefts = oneInner.offsetLeft if (lefts>=document.documentElement.clientWidth-oneInner.offsetWidth||lefts<=0) { x=-x } if (tops>=document.documentElement.clientHeight-oneInner.offsetHeight||tops<=0) { y=-y } tops+=y; lefts+=x; oneInner.style.top=tops+"px" oneInner.style.left=lefts+"px" } //悬停停止 oneInner.onmouseover=function(){ clearInterval(a1a); } //放手继续运动 oneInner.onmouseout=function(){ a1a =setInterval(moves,100); } //删除 oneButton.onclick=function(){ document.body.removeChild(oneInner); } } </script> </head> <body> </body> </html>
jquery 메소드:
<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="http://www.jb51.net/workspace/js/jquery-1.7.min.js"></script> <script> $(function(){ //写入div $("<div/>",{id:"moveWindow"}).css({width:"200px",height:"200px",border:"solid 3px #2F74A7",background:"#663398",position:"absolute",cursor:"pointer"}).appendTo("body"); //写入关闭按钮 $("<div/>",{id:"removeMW"}).css({width:"20px",height:"20px",background:"red",float:"right"}).appendTo("#moveWindow"); //定时器 var move = setInterval(moves,100); var x= 10; var y= 10; function moves (){ var mw = $("#moveWindow").offset(); var lefts =mw.left; var tops = mw.top; if (lefts>=$(window).width()-$("#moveWindow").width()||lefts<=0) { x=-x } if (tops>=$(window).height()-$("#moveWindow").height()||tops<=0) { y=-y } lefts+=x; tops+=y; $("#moveWindow").offset({top:tops,left:lefts}); } //悬停停止运动 $("#moveWindow").mouseover(function(){ clearInterval(move); }); //移开鼠标后继续运动 $("#moveWindow").mouseout(function(){ move = setInterval(moves,100); }); //点击按钮关闭 $("#removeMW").click(function(){ $("#moveWindow").remove(); }); }) </script> </head> <body> </body> </html>
기본 아이디어:
1. 페이지가 로드된 후 페이지에 창을 삽입한 다음 삽입합니다. 창에 닫기 버튼
2. setInterval() 함수를 사용하여 move() 함수를 실행하여 애니메이션을 시작합니다.
3. 이동 함수: 먼저 현재 창 위치를 가져옵니다. 그런 다음 변위가 브라우저 가장자리로 이동할 때마다 시간이 지남에 따라 창을 이동합니다. 역동작
4. 다른 이벤트 추가: 마우스가 움직일 때 움직임을 멈추고, 마우스가 떠날 때 움직임을 계속하고, 버튼을 눌러 창을 닫으세요
ps: 사용자 경험에 영향을 미치는 이 특수 효과는 사용하지 않는 것이 좋습니다
도움이 되기를 바랍니다! ^_^!~~
플로팅 모바일 윈도우(플로팅 광고)의 특수 효과에 대한 더 많은 JS 관련 기사를 보려면 PHP 중국어 사이트를 주목하세요!