본 글의 예시는 참고용으로 자바스크립트를 활용한 전체화면 플로팅 광고 구현 방법을 공유하기 위한 것입니다.
주요 사용방법
웹페이지의 표시 영역 너비: document.body.clientWidth;
웹 페이지의 가시 영역 높이: document.body.clientHeight;
웹페이지의 표시 영역 너비: document.body.offsetWidth(옆선 너비 포함)
웹 페이지의 가시 영역 높이: document.body.offsetHeight (가장자리 너비 포함)
간격 설정
setInterval 액션은 애니메이션 재생 시 특정 간격으로 함수, 메소드 또는 객체를 호출하는 데 사용됩니다. 이 작업을 사용하여 데이터베이스에서 변수를 업데이트하거나 시간 표시를 업데이트할 수 있습니다.
setInterval 액션의 구문 형식은 다음과 같습니다.
setInterval(function,interval[,arg1,arg2,......argn]) setInterval(object,methodName,interval[,arg1,arg2,.....argn])
첫 번째 형식은 표준 액션 패널의 setInterval 함수의 기본 구문이고, 두 번째 형식은 전문가 모드 액션에서 사용되는 방식입니다.
매개변수 함수는 함수 이름이거나 익명 함수에 대한 참조입니다.
object 매개변수는 Object 개체에서 파생된 개체를 지정합니다. methodName은 객체 매개변수에서 호출될 메소드를 지정합니다.
간격은 function 또는 methodName에 대한 두 호출 사이의 시간을 밀리초 단위로 지정합니다. 다음 arg1 등은 함수 또는 methodName에 전달되는 매개변수를 지정하는 데 사용되는 선택적 매개변수입니다.
setInterval이 설정하는 시간 간격은 애니메이션 프레임 속도(예: 초당 10프레임, 100밀리초와 동일)보다 작으며, 해당 함수는 가능한 한 간격에 가까운 시간 간격으로 호출됩니다. 그리고 화면이 충분한 빈도로 새로 고쳐지도록 하려면 updateAfterEvent 작업을 사용해야 합니다. 간격이 애니메이션 프레임 속도보다 큰 경우 각 화면 새로 고침의 영향을 줄이기 위해 재생 헤드가 특정 프레임에 들어갈 때마다 호출됩니다.
clearInterval
clearInterval 작업의 역할은 setInterval 함수 호출을 지우는 것입니다
구문 형식은 다음과 같습니다.
> > clearInterval(intervalid);
광고 모바일 효과 예시
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>简单JS动画实例 广告移动效果</title> </head> <body> <div id="one" style="background-color:red; position:absolute; left:0; top:0; height:100px; height:100px; "> 移动广告 </div> <script type="text/javascript"> var x=0; //对象X轴位置 var y=0; //对象Y轴位置 var xs = 10; //对象X轴移动速度 var ys = 10; //对象Y轴移动速度 var one = document.getElementById('one'); function move(){ x += xs; y += ys; one.style.left = x; one.style.top = y; if (x > document.body.clientWidth - one.offsetWidth-20 || x<0) { xs = -1*xs; //速度取反 } if (y > document.body.clientHeight - one.offsetHeight-20 || y<0){ ys = -1*ys; } } var obj = setInterval('move()', 100); one.onmouseover = function(){ // clearInterval(obj); } one.onmouseout = function (){ obj = setInterval('move()', 100); } </script> </body> </html>
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.