jQuery의 간단하고 실용적인 캐러셀 구현 방법

小云云
풀어 주다: 2018-01-10 15:03:13
원래의
1094명이 탐색했습니다.

이 글은 주로 jquery를 사용하여 간단하고 실용적인 캐러셀을 만드는 방법을 자세히 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.

WEB 개발은 컨테이너의 항목이 반복적으로 재생되고 표시되는 동시에 해당 탐색 모음 프롬프트가 있는 상황에서 자주 사용됩니다. 이는 여러 곳에서 사용할 수 있고 기능이 매우 유사하기 때문입니다. , 그래서 이렇게 작성했습니다. 재생 기능을 공유해 주세요. jQuery의 지원이 필요하므로 다음과 같이 요약합니다.

1. 다음을 별도의 파일 itemPlayerApp.js로 저장합니다:

//attend: this need jQuery.js support 
var itemPlayerApp={ 
 author:'shenzhenNBA', 
 version:'v1.0', 
 appMaxNum:0, 
 playData:'1xplay', 
 playerID:"", 
 speed:3000, 
 appPlay:function(){  
  var f=this.playData.toLowerCase().split('x'); 
  if(f[1]=='play'){ 
   var i; 
   try{i=parseInt(f[0]);}catch(e){i=0;} 
   if(i>=this.appMaxNum){i=0;}    
   this.appTab(i);   
   this.playData=(++i)+"xplay"; 
  }   
 }, 
 appTab:function(tabIndex){ 
  var k,j; 
  try{k=parseInt(tabIndex);}catch(e){k=0;}   
  for(j=0;j<this.appMaxNum;j++){    
   if(k==j){      
   $(&#39;#itemNav&#39;+j).css({&#39;background-color&#39;:&#39;#333333&#39;,&#39;color&#39;:&#39;#FFFFFF&#39;});     
   $(&#39;#item&#39;+j).show(&#39;fast&#39;);    
   }else{   
   $(&#39;#itemNav&#39;+j).css({&#39;background-color&#39;:&#39;#CCCCCC&#39;,&#39;color&#39;:&#39;#000000&#39;}); 
   $(&#39;#item&#39;+j).hide(&#39;fast&#39;);  
   } 
  }   
 }, 
 appActive:function(){ 
  var _this = this; 
  this.playerID = setInterval(function(){ _this.appPlay(); },this.speed); 
 }, 
 init:function(refContainerId,intervalTime,refWidth,refHeight){  
  var cid = "";  
  var w = 300; 
  var h = 200; 
  if(refContainerId == &#39;undefined&#39; || refContainerId == null || refContainerId == &#39;&#39;){ 
   return; 
  }else{ 
   cid = $.trim(refContainerId); 
  }  
  if(refWidth == &#39;undefined&#39; || refWidth == null || refWidth == &#39;&#39;){ 
   w = 300; 
  }else{ 
   w = parseInt(refWidth); 
  }  
  if(refHeight == &#39;undefined&#39; || refHeight == null || refHeight == &#39;&#39;){ 
   h = 200; 
  }else{ 
   h = parseInt(refHeight); 
  }  
   
  $(&#39;#&#39; + cid).css({"position":"relative",&#39;width&#39;:w,&#39;height&#39;:h,&#39;overflow&#39;:&#39;hidden&#39;}); 
  $(&#39;#&#39; + cid + "NavCon").css({&#39;color&#39;:&#39;#333333&#39;,&#39;height&#39;:&#39;26px&#39;,&#39;position&#39;:&#39;absolute&#39;,&#39;width&#39;:&#39;95%&#39;,&#39;left&#39;:&#39;0&#39;,&#39;bottom&#39;:&#39;3px&#39;,&#39;text-align&#39;:&#39;right&#39;,&#39;display&#39;:&#39;block&#39;}); 
  var t = 0; 
  if(intervalTime == &#39;undefined&#39; || intervalTime == null){ 
   t = 3000; 
  }else{ 
   try{ t = parseInt(intervalTime);}catch(e){ t = 3000;} 
  } 
  this.speed = t; 
  var navList = "#" + cid + "NavCon a"; 
  this.appMaxNum = $(navList).size(); 
  if(0 == this.appMaxNum){ return; } 
  var _this = this; 
  $(navList).each(function(i){ 
   $(this).css({&#39;padding&#39;:&#39;2px 5px&#39;,&#39;margin-right&#39;:&#39;2px&#39;,&#39;background-color&#39;:&#39;#CCCCCC&#39;}); 
   if(i == 0){ 
    $(this).css({&#39;background-color&#39;:&#39;#333333&#39;,&#39;color&#39;:&#39;#FFFFFF&#39;}); 
   }     
   $(this).mouseover(function(){ 
   _this.playData=i+&#39;xstop&#39;; 
   _this.appTab(i);  
   }); 
   $(this).mouseout(function(){ 
   _this.playData=i+&#39;xplay&#39;; 
   _this.appTab(i); 
   }); 
  }); 
 } 
};
로그인 후 복사

2. 사용 방법:

1. 사용해야 하는 웹 페이지에 jQery 파일과 이 itemPlayerApp.js 파일을 삽입합니다. 예:

< ;script 언어="javascript" src="xpath/itemPlayer.js" >

2. 다음 형식으로 HTML 파일을 만듭니다.

<p id="containerID">

<p id="containerIDNavCon">
<a id="itemNav0" class="item1" href="#">1</a>
<a id="itemNav1" class="item1" href="#">2</a>
<a id="itemNav2" class="item1" href="#">3</a>
</p>
<p id="containerIDItemCon">
<a id="item0" href="#"><img src="img/pic0.jpg" width="300" height="200"></a>
<a id="item1" href="#"><img src="img/pic1.jpg" width="300" height="200"></a>
<a id="item2" href="#"><img src="img/pic2.jpg" width="300" height="200"></a>
</p>
</p>
로그인 후 복사

참고: 최대한 간단하므로, 적절한 형식의 HTML을 생성해야 합니다. 주요 요구 사항은 다음과 같습니다. 색상 부분에 주의하세요.

//A. id = ContainerIDNavCon 및 id = ContainerIDItemCon의 연결 A 요소 수는 동일해야 합니다. /B, 탐색 컨테이너의 ID 구성은 위와 같이 기본 컨테이너 ID와 NavCon을 더해야 합니다.
//C, 탐색 컨테이너의 각 요소 A 요소의 ID는 itemNav와 시작하는 증가하는 숫자 시퀀스로 구성됩니다. 위의 녹색 부분에 표시된 대로 0인 경우
//D 표시 항목 컨테이너의 각 A 요소 ID는 itemNav와 위의 보라색 부분과 같이 0으로 시작하는 증가하는 숫자 시퀀스로 구성됩니다.

3 웹 페이지의 로딩 이벤트 onload에서 캐러셀 기능을 초기화하고 활성화합니다. 예:

window.onload=function(){
itemPlayerApp.init('containerID' ,3000,300,200);
itemPlayerApp. active();
}

3. 다음 예

모든 파일이 폴더에 있으면

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>TEST</title> 
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> 
<script language="javascript" type="text/javascript" src="itemPlayerApp.js"></script> 
<style type="text/css"> 
*{font-family:"宋体",verdana,arial; font-size:12px;color:#000000;} 
#playerBox{font-family:"宋体",verdana,arial; font-size:12px;color:#000000;} 
</style> 
</head> 
<body> 
<p id="playerBox" class="columnLeft01 box02"> 
<p id="playerBoxNavCon"> 
<a id="itemNav0" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >1</a> 
<a id="itemNav1" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >2</a> 
<a id="itemNav2" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >3</a> 
</p> 
<p id="playerBoxItemCon"> 
<a id="item0" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="http://www.baidu.com/img/shouye_b5486898c692066bd2cbaeda86d74448.gif" width="100%" height="200" border="0"></a> 
<a id="item1" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="http://csdnimg.cn/www/images/csdnindex_logo.gif" width="100%" height="200" border="0"></a> 
<a id="item2" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="http://avatar.csdn.net/5/1/9/1_shenzhennba.jpg" width="100%" height="200" border="0"></a> 
</p> 
</p> 
<p> </p> 
<p>项目循环轮播功能</p> 
<script language="javascript" type="text/javascript"> 
window.onload=function(){ 
itemPlayerApp.init('playerBox',3000,300,200); 
itemPlayerApp.appActive(); 
} 
</script> 
</body> 
</html>
로그인 후 복사
팁: jQuery.js 파일을 온라인으로 다운로드하세요.

필요할 때만 사용하세요.

관련 추천:


H5를 사용하여 캐러셀을 구현하는 예제 튜토리얼(터치스크린 버전)

H5를 사용하여 터치스크린 캐러셀을 구현하는 방법을 자세히 소개

차근차근 가르쳐주세요. jQyery는 캐러셀을 구현합니다

위 내용은 jQuery의 간단하고 실용적인 캐러셀 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!