jQuery 윤 방도 실례 상세 설명

7487 단어 jQuery윤파 도
본 고의 실례 는 여러분 에 게 jQuery 윤 방도 실례 의 구체 적 인 코드 를 공 유 했 습 니 다.여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
1,html+css+js 코드

<!DOCTYPE html>
<html>
<head>
 <title></title>
 <style type="text/css">
 *{
  margin: 0;
  padding: 0;
  text-decoration: none;
 }
 body{
  padding: 20px;
 }
 #container{
  min-width: 1000px;
  /*width: 1300px;*/
  height: 400px;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
 }
 #list{
  /*width: 9100px;*/
  height: 400px;
  position: absolute;
  z-index: 1;
  top:0;
  left: 0;
  overflow: hidden;
 }
 #list img{
  float: left;
  /*width: 1300px;*/
  height: 400px;
 }
 #buttons{
  position: absolute;
  height: 10px;
  width: 100px;
  z-index: 2;
  bottom: 20px;
  left: 660px;
  text-align: center;
 }
 #buttons span{
  cursor: pointer;
  float: left;
  width: 10px;
  height: 10px;
  margin-right: 9px;
  display: inline-block;
  background-image: url(img/_eb1b95e.png);
  background-position: -1079px -687px;

 }
 #buttons .on{
  background-position: -1049px -687px;
 }
 .arrow{
  cursor: pointer;
  display: none;
  width: 36px;
  height: 76px;
  position: absolute;
  z-index: 2;
  top: 180px;
  background-color: rgba(0,0,0,.3);
  color: #fff;
 }
 #container:hover .arrow{
  display: block;
 }
 #prev{
  background: url(img/_eb1b95e.png);
  background-position: -569px -491px;
  left: 20px;
 }
 #next{
  background: url(img/_eb1b95e.png);
  background-position: -513px -491px;
  right: 20px;
 }
 </style>
</head>
<body>
 <div id="container">
 <div id="list" >
  <img src="img/5.jpg" alt="1"/>
  <img src="img/1.jpg" alt="1"/>
  <img src="img/2.jpg" alt="2"/>
  <img src="img/3.jpg" alt="3"/>
  <img src="img/4.jpg" alt="4"/>
  <img src="img/5.jpg" alt="5"/>
  <img src="img/1.jpg" alt="5"/>
 </div>
 <div id="buttons">
  <span index="1" class="on"></span>
  <span index="2"></span>
  <span index="3"></span>
  <span index="4"></span>
  <span index="5"></span>
 </div>
 <a href="javascript:;" id="prev" class="arrow"></a>
 <a href="javascript:;" id="next" class="arrow"></a>
 </div>

<script type="text/javascript" src="js/jquery.1.10.2.js"></script>
<script type="text/javascript">
 var container = $("#container");
 var list = $("#list");
 var listimg = $("#list img"); 
 var buttons = $("#buttons span");
 var prev = $("#prev");
 var next = $("#next");
 var index = 1;
 var len = 5;
 var num =len+2;
 var interval = 3000;//    
 var timer; 
 var clientwidth=document.documentElement.clientWidth;//     
 var conwidth = parseInt(clientwidth)-100;//       

 $(function(){


 setwidth();//  container         list list img   


 function animate(offset){
  var left = parseInt(list.css("left"))+offset;

  // list.animate({left:left+'px'},'normal');
  list.animate({left:left+'px'},conwidth,function(){
  //              ,       ,                 
  if (left > -conwidth) {//            ,             
   list.css('left',-conwidth*len);
  }
  if (left < (-conwidth*len)) {//             ,            
   list.css('left', -conwidth);
  }
  });
 }

 function showbutton(){//    css                ,    
  buttons.eq(index-1).addClass('on').siblings().removeClass('on');
 }

 function play(){
  timer = setTimeout(function(){
  next.trigger('click');//trigger()               。
  play();
  },interval);
 }
 function stop(){
  clearTimeout(timer);
 }

 next.bind('click',function(){
  if (list.is(':animated')) {
  return;
  }
  if (index == 5) {
  index = 1;
  }
  else{
  index++;
  }
  animate(-conwidth);
  showbutton();
 });

 prev.bind('click',function(){
  if (list.is(':animated')) {
  return;
  }
  if (index == 1) {
  index = 5;
  }
  else{
  index--;
  }
  animate(conwidth);
  showbutton();
 });

 buttons.each(function(){
  $(this).bind('click',function(){
  if (list.is(':animated') || $(this).attr('class')=='on') {
   return;
  }
  var myindex = parseInt($(this).attr('index'));
  var offset = -conwidth*(myindex - index);

  animate(offset);
  index = myindex;
  showbutton();
  })
 });

 container.hover(stop,play);//       stop()  ,     play()

 play();

 });

 function setwidth(){//  container         list list img   

  container[0].style.width = conwidth +'px' ;
  list[0].style.width = num*conwidth +'px';
  list[0].style.left = '-'+conwidth +'px';
  for (var i = 0; i < listimg.length; i++) {
  listimg[i].style.width = conwidth + 'px';
  }
 }
</script>
</body>
</html>
2.사고의 실현
라운드 맵 의 기능 은 자동 으로 재생 되 고 왼쪽 단 추 를 누 르 면 앞 그림 을 표시 하 며 뒤쪽 그림 을 클릭 하여 아래 의 작은 원점 을 클릭 하여 점프 재생 을 실현 하 는 것 으로 나 눌 수 있다.
1.자동 재생 기능:타 이 머 를 설정 하고 주기 마다 오른쪽 단 추 를 누 르 는 함수 기능 을 터치 합 니 다.
2.왼쪽 단 추 를 누 르 면 앞 에 있 는 그림 을 표시 합 니 다.먼저 우 리 는 라운드 맵 의 원 리 를 알 아야 합 니 다.도해

큰 상 자 는 container 이 고 작은 상 자 는 list 입 니 다.list 에는 많은 그림 이 있 습 니 다.간격 없 이 한 줄 에 배열 되 어 있 습 니 다.볼 수 있 는 그림 을 절대 위치 로 조작 합 니 다.즉,container 안에 있 는 것 은 보 이 는 부분 입 니 다.왼쪽 단 추 를 눌 렀 을 때 앞의 그림 을 오른쪽으로 이동 하면 절대 위치 에 있 는 left 값 에 그림 의 폭 을 추가 하 는 것 과 같 습 니 다.
3.오른쪽 단 추 를 누 르 면 뒤의 그림 을 표시 합 니 다.원 리 는 왼쪽 과 같 고 그림 의 왼쪽 이동 에 해당 하 며 뒤의 그림 을 표시 합 니 다.
4.아래 의 작은 원점 을 클릭 하여 점프 재생 을 실현 합 니 다.이때 페이지 는 두 번 째 그림 입 니 다.다섯 번 째 그림 으로 이동 하려 면 오른쪽 단 추 를 세 번 클릭 한 것 과 같 고 그림 왼쪽 에서 세 개의 그림 을 이동 하 는 너비 와 같 습 니 다.
3.습득 해 야 할 지식 포인트:
css:
절대 위치
js+jq:

document.documentElement.clientWidth;
obj.animate();
obj.css();
obj.eq()
obj.addClass();
obj.siblings();
obj.removeClass();
setTimeout();
clearTimeout();
obj.trigger();
obj.attr();
obj.bind();
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기