>웹 프론트엔드 >JS 튜토리얼 >jQuery_jquery를 기반으로 아름답고 실용적인 카운트다운 예제 코드 구현

jQuery_jquery를 기반으로 아름답고 실용적인 카운트다운 예제 코드 구현

WBOY
WBOY원래의
2016-05-16 15:22:411116검색

카운트다운 효과는 올림픽 카운트다운, 대학 입시 카운트다운, 휴일 카운트다운 등 다양한 용도로 사용됩니다. 이 섹션에서는 더욱 아름답고 실용적인 카운트다운 효과를 공유합니다.

코드 예시는 다음과 같습니다.

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>倒计时效果代码</title>
<style type="text/css">
* {
 padding:0;
 margin:0;
}
.colockbox {
 width:250px;
 height:30px;
 overflow:hidden;
 color:#000000;
 background:url(mytest/jQuery/colockbg.png) no-repeat;
 margin:0px auto;
}
.colockbox span {
 float:left;
 display:block;
 width:40px;
 height:29px;
 line-height:29px;
 font-size:20px;
 font-weight:bold;
 text-align:center;
 color:#ffffff;
 margin-right:22px;
}
</style>
<script type="text/javascript" src="http://www.softwhy.com/mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript"> 
$(function(){ 
 countDown("2016/2/3 6:30:59","#colockbox1"); 
}); 
function countDown(time,id){ 
 var day_elem=$(id).find('.day'); 
 var hour_elem=$(id).find('.hour'); 
 var minute_elem=$(id).find('.minute'); 
 var second_elem=$(id).find('.second'); 
 var end_time = new Date(time).getTime();
 var sys_second = (end_time-new Date().getTime())/1000; 
 var timer = setInterval(function(){ 
  if(sys_second>1) { 
   sys_second-=1; 
   var day=Math.floor((sys_second/3600)/24); 
   var hour=Math.floor((sys_second/3600)%24); 
   var minute=Math.floor((sys_second/60)%60); 
   var second=Math.floor(sys_second%60); 
   $(day_elem).text(day);
   $(hour_elem).text(hour<10&#63;"0"+hour:hour);
   $(minute_elem).text(minute<10&#63;"0"+minute:minute); 
   $(second_elem).text(second<10&#63;"0"+second:second);
  } 
  else { 
   clearInterval(timer); 
  } 
 }, 1000); 
} 
</script>
</head>
<body>
<div class="colockbox" id="colockbox1"> 
 <span class="day">00</span> 
 <span class="hour">00</span> 
 <span class="minute">00</span> 
 <span class="second">00</span> 
</div>
</body>
</html> 

위 코드는 우리의 요구 사항을 충족하며 몇 초에서 며칠까지 카운트다운 효과를 얻을 수 있습니다. 구현 프로세스는 아래에 소개되어 있습니다.

1. 구현 원칙:

원리는 비교적 간단합니다. 만료 시간의 타임스탬프에서 현재 시간의 타임스탬프를 뺀 값, 즉 둘 사이의 초 수를 3600으로 나누는 것입니다. 시간 차이를 24로 나누고 Math.floor() 함수를 사용하여 일수를 반올림하면 아래의 시간, 분, 초를 구할 수 있습니다. 타이머 기능을 사용하여 매초마다 해당 기능을 호출하여 카운트다운 효과를 얻으세요.

2. 코드 주석:

1.$(function(){}), 문서 구조가 완전히 로드되면 함수의 코드를 실행합니다.
2.countDown("2016/2/3 6:30:59","#colockbox1"), 함수를 호출하면 첫 번째 매개변수는 만료 시간이고 두 번째 매개변수는 div의 id 속성 값입니다.
3.function countDown(time,id){}, 이 함수를 선언합니다.
4.var day_elem=$(id).find('.day'), div 아래에서 클래스 속성 값이 day인 객체를 가져옵니다.
5.var hour_elem=$(id).find('.hour'), ​​​​div 아래에서 클래스 속성 값이 hour인 객체를 가져옵니다.
6.var Minute_elem=$(id).find('. Minute'), div 아래에서 클래스 속성 값이 분인 객체를 가져옵니다.
7.var second_elem=$(id).find('.second'), 클래스 속성 값이 div 아래에서 두 번째인 객체를 가져옵니다.
8.var end_time=new Date(time).getTime(), 만료 이벤트의 타임스탬프를 가져옵니다.
9.var sys_second=(end_time-new Date().getTime())/1000, 만료 시간과 현재 시간 사이의 차이(초)를 가져옵니다.
10.var 타이머=setInterval(function(){}, 1000), 매초마다 함수를 실행합니다.
11.if(sys_second>1), 초 단위의 차이가 1보다 큰 경우.
12.sys_second-=1, 두 번째에서 1을 뺍니다.
13.var day=Math.floor((sys_second/3600)/24), 일수 차이를 구합니다.
14.var hour=Math.floor((sys_second/3600)$), 시간 차이를 구합니다. 다음은 모듈로 연산이라는 점에 유의하세요.
15.var hour=Math.floor((sys_second/60)`), 분 차이를 구합니다.
16.var second=Math.floor(sys_second`), 초 차이를 구합니다.
17.$(day_elem).text(day), 날짜를 범위 요소에 씁니다.
18.$(hour_elem).text(hour<10?"0" hour:hour), 시간을 범위에 씁니다. 시간이 10보다 작으면 앞에 0을 추가하고 뒤에도 같은 이유를 추가합니다.
19.clearInterval(timer), 초 차이가 0에 도달하면 타이머 함수 setInterval의 실행을 중지합니다.

위 내용은 편집자가 공유한 jQuery 기반의 아름답고 실용적인 카운트다운 예제 코드입니다. 이 기사를 공유하는 것이 모든 사람에게 도움이 되기를 바랍니다.

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