jquery 一个轮播

1、HTML:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>

    <style type="text/css">
    *{
      margin: 0;
      padding: 0;
    }
    #contaner{
      height: 800px;
      width: 800px;
      margin: 50px auto;
      border: 1px solid red;
    }
    .leftphoto{
      height: 800px;
      width: 200px;
      overflow: scroll;
      float: left;
    }
    .leftphoto img{
      width: 180px;
      height: 240px;
    }
    .rightphoto{
      float: left;
      height: 798px;
      width: 580px;
      margin-left: 10px;
      text-align: center;
    }
    .rightphoto:after{
      content: "";
      clear: both;
    }
    .show img{
      height: 760px;
      width: 580px;
    }
    .tell{
      border: 8px solid #38a;
      width: 172px;
      height: 232px;
    }

    </style>
    <script type="text/javascript" src="jquery-1.8.3.js"></script>
    <script type="text/javascript" src="jquery.carouselFigure.js"></script>
<script type="text/javascript">
    $(function(){
$(".leftphoto img").carouselFigure();

    })
    </script>

</head>
<body >
<div id="contaner">
        <div class="leftphoto">
              <img src="pic/01.jpg">
              <img src="pic/02.jpg">
              <img src="pic/03.jpg">
              <img src="pic/04.jpg">
              <img src="pic/05.jpg">
              <img src="pic/06.jpg">
              <img src="pic/07.jpg">
              <img src="pic/08.jpg">
              <img src="pic/09.jpg">
              <img src="pic/10.jpg">

        </div>

        <div class="rightphoto">
            <div class="show">
              <img src="" >
            </div>
            <div class="control">
              <input type="button" id="first" value="第一张">
              <input type="button" id="pre" value="上一张">
              <input type="button" id="next" value="下一张">
              <input type="button" id="last" value="最后一张">
              <input type="button" id="auto" value="自动播放">
            </div>
        </div>
</div>

</body>

</html>

2、JS:

 (function($){
      $.fn.carouselFigure = function(options){
          var settings = $.extend({
            picsrc:".leftphoto",
            photoShow:".show",
            first:"#first",
            pre:"#pre",
            next:"#next",
            last:"#last",
            auto:"#auto"
          },options||{});

          var pics = this;
          //给图片加一个序号,可以在shwPic中 通过下标访问
          this.each(function(n){
            $(this).data("num",n);
          });

          this.on("click",function(){
            showPic($(this).data("num"));
          });

          $(first).on("click",function(){
            showPic(0);
          })

          $(last).on("click",function(){
            showPic(pics.length-1);
          })

          var cur = 0;

          $(pre).on("click",function(){
            showPic(cur-1);
          });

          $(next).on("click",function(){
            showPic(cur+1);
          });
          var s = null;
          $(auto).toggle(function(){
            s = setInterval(function(){showPic(cur);cur++;},1000);
            $(this).val("停止播放");
          },function(){
            $(this).val("自动播放");
            clearInterval(s);
          })
          function showPic(index){
            if(index<0){index = pics.length-1;
            }else if (index>pics.length-1) {index = 0};
            $(settings.photoShow).find("img").attr("src",pics[index].src)
                                             .animate({
                                                opcity: 0.8
                                                  },600);
              $(pics[index]).siblings("img").removeClass("tell");
              $(pics[index]).addClass("tell");
                cur = index;
          }
        showPic(0);
        return this;
      }

    })(jQuery)
时间: 2024-07-30 18:10:21

jquery 一个轮播的相关文章

记一个jquery 无缝轮播的制作方法

接触前端也很久了,今天才发现,要做好一个轮播,其实有很多东西需要考虑进去,否则做出来的轮播效果并不好,下面我就来做一个轮播,是依赖jquery来写的 1.要做轮播,首先需要的是HTML的内容,css的机构样式,以下为html代码: 1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="utf-8" /> 6 <link rel="stylesheet" hr

简单的一个轮播效果

刚刚学了Jquery,写了一个简单的图片滑动,但不是完成品. <!DOCTYPE html> <meta content="text/html" charset="utf-8"/><html><head> <title></title> <link href="css/lunbo.css" rel="stylesheet"/> <scri

10个免费的响应式jQuery Carousel 轮播图插件

jQuery Carousel 轮播图插件可以给网站创建华丽的动画效果,这里列出的10个jQuery Carousel 轮播图插件都是响应式的,并且可以免费使用. 1. ItemSlide.js 简单的触摸式Carousel 轮播图插件,提供多种样式的旋转动画,如向上滑动,基于全屏的触摸滑动,左右滑动等. 2. Liquid 每当Liquid 容器的大小改变时,都会重新调整列表中的项目数,以适应新的宽度. 3. jCarousel jCarousel 是一个用来控制水平或垂直方向上列表项的jQu

jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承

上一篇文中完成的封装,还存在一个小问题,就是该轮播对象不能在同一页面中重复使用,本文将通过组合使用javascript的构造函数和原型模式创建对象来解决这个问题. 没有看过上一篇文章的朋友可以点此查看上一篇文章 (jQuery图片轮播(一)轮播实现并封装) 首先回顾一下,上文的问题所在,上文中的carsouel对象是采用字面量的方式来定义的,这样carsouel本就是一个实例,想要使用在多处时,这个对象的方法会发生冲突,最终只会执行最后的那一个.而通过采用构造函数的方式来定义对象carsouel

jQuery实现轮播效果(二) - 插件实现

开篇 前一篇文章(jQuery实现轮播效果(一) - 基础)讲到了怎样用jquery来实现一个简单的jquery轮播效果,基本的功能已经实现了,效果看起来还令人满意,唯一不足的就是:每次需要轮播效果时,要将代码复制粘贴过去,如果有些部分需要修改(例如:轮播时的动画效果,前一篇使用的是jquery的淡入淡出效果,如果改成滑动效果,不可避免的要修改js代码),那么就需要对js代码进行修改,对我所写的jquery轮播效果的js代码不熟悉的程序员来说,修改这些js确实很困难.轮播插件所要实现的目标之一就

12款经典的白富美型—jquery图片轮播插件—前端开发必备

图片轮播是网站中的常用功能,用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美的图片轮播效果,希望这些插件能够帮助到你.Nivo Slider 首先推荐的这款插件号称世界上最棒的图片轮播插件,有独立的 jQuery 插件和 WordPress 插件两个版本. 目前下载量已经突破 1,800,000 次!jQuery 独立版本的插件主要有如下特色: ?  16个独特的过渡效果?

前端自制Jquery插件————轮播

昨天,自己心血来潮,弄了一个轮播图的插件,说来你们可能不信,这是我人生第一个插件,好,那我直接讲讲我的思路好了. 首先,我以开发者的角度来看,一个好的插件的使用方式应该简单可靠,因为我做的是Jquery插件,所以最好的使用方式我觉得应该是,$(DOM).carousel(config).其中DOM节点,用于填充轮播图片的地方,config是配置信息,包括是否循环,是否自动播放,播放时间间隔,图片地址等.因为时间短,我也只是简单实现了主要的功能. 我第一件事情做的就是布局,没错,我是先把CSS样式

jquery实现轮播插件

这几天用jquery写了两个轮播的插件,功能很简单.第一次尝试写插件,有很多不足的地方,代码如下: 注:图片链接请替换掉,配置信息必须加上图片width和height. <!DOCTYPE html> <html ng-app="myApp"> <head lang="en"> <meta charset="UTF-8"> <link rel="stylesheet" hr

用jq代码写出一个轮播图。

由于项目的需要,需要写出一个图片预览的功能,在预览的同时如果预览的图片大于1,还要能够轮播,.所以,这就是一个从后台取图片的路径,然后轮播的一个功能.  当图片数为1时,不显示左右箭头以及轮播圆点. 下面是一个gif的demo: 首先,我们理清了实现的方式.我们先做出一个轮播图的效果. DEMO地址:https://codepen.io/Dios/pen/dzLMVJ 然后我们再通过一些js判断达到图中的效果.