关闭

用jquery实现仿淘宝焦点图的动画

标签: jqueryfunctionjavascriptbuttondelayswing
1097人阅读 评论(0) 收藏 举报
分类:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>可控方向的图片滚动效果</title>
<style>
.scroll{
 position:relative;
 background-color:#CCC;
 padding:2px;
 width:600px;
 height:150px;
 overflow:hidden;
 }
 
.items{
 
 margin:0px 0px;
 padding:0px 0px;
 list-style-type:none;
 position:absolute;
 width:9999em;
 }

.items li{
 float:left;
 }

</style>
<script language="javascript" type="text/javascript" src="../include/jquery.js"></script>


<script language="javascript" type="text/javascript">

 
  $(document).ready(function (){
  //设置延迟时间
  var delay=3000;//越大越慢
  //设定速度
  var speed="slow";  //fast 快,normal 中
  //每屏移动的图片的
  var pageSize=3;
 
 
  //定义第几个图片移动
  //var i=1;
  //设置当前屏
  var nowPage=1;
  //总屏数
  var pages=Math.ceil($(".items>li").length/pageSize);
  //设置方向的标志  并且约定,当dir=true的时候,向后滚动
  var dir=true;
 
  //增加按钮的监听事件
  $("#prev").click(function (){
  
 //调用向前滚动
 Prev();
 
 });
  
  
 //点击了向右移动
  $("#next").click(function (){

     //调用向后滚动的方法
     Next();
   
  });
  

  
  function goMove(location){

     //获取第i个图片距左的距离
  var left=$(".items > li").eq(location).position().left;

  //让ul产生动画,向左移动
  $(".items").animate({left:-left},"swing").show(speed);
   
 }
 
 
 //定义向后移动的方法
   function Next(){
   
     //判断是否到最后一屏
   if(nowPage==pages){
    //当最后一屏时,不能在向后移动了
    dir=false;
    return ; 
   }   
 
  //调用move的方法
  goMove(nowPage*pageSize);
  //i--;
  //当前屏++
  nowPage++;
  }
  //定义向前移动的方法
 function Prev(){
  
  //判断是否是第一屏 
  if(nowPage==1){
     dir=true;
     return ;
    }
   //当前页--
   nowPage--;
  
   //调用移动的方法
   goMove((nowPage-1)*pageSize);
  
  // i++;
 }
 
 
 //定时自动执行
 function autoPlay(){
  
  //我们可以根据dir的状态值,判断是向前还是向后滚动
  if(dir){
   //如果dir=true,表明还没有到最后一屏,所以可以执行Next();
      Next(); 
  }else{
   
      Prev();
  
  }
  
  setTimeout(autoPlay,delay);
  
 }
 
    autoPlay();
 
  });

</script>
</head>

<body>
<div class="scroll">
   <ul class="items">
     <li><img src="images/1.gif" width="150" /></li>
     <li><img src="images/2.jpg" width="150" /></li>
     <li><img src="images/3.jpg" width="150" /></li>
     <li><img src="images/4.jpg" width="150" /></li>
     <li><img src="images/1.jpg" width="150" /></li>
     <li><img src="images/6.jpg" width="150" /></li>
     <li><img src="images/7.jpg" width="150" /></li>
     <li><img src="images/8.jpg" width="150" /></li>
     <li><img src="images/9.gif" width="150" /></li>
     <li><img src="images/3.jpg" width="150" /></li>
     <li><img src="images/4.jpg" width="150" /></li>
    
   </ul>
</div>
<input type="button" value="<<" id="prev"/>

<input type="button" value=">>" id="next" />
</body>
</html>

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:182244次
    • 积分:2235
    • 等级:
    • 排名:第16786名
    • 原创:84篇
    • 转载:0篇
    • 译文:1篇
    • 评论:24条
    文章分类
    最新评论