jQuery淡入淡出效果轮播图

用JavaScript做了平滑切换的焦点轮播图之后,用jQuery写了个简单的淡入淡出的轮播图,代码没有做优化,html结构稍微有一些调整,图片部分用ul替换了之前用的div。

html结构如下:

<div id="container">
        <ul class="pic">
            <li><a href="javascript:;"><img src="DSC01627.jpg" alt="pic1"></a></li>
            <li><a href="javascript:;"><img src="DSC01628.jpg" alt="pic2"></a></li>
            <li><a href="javascript:;"><img src="DSC02637.jpg" alt="pic3"></a></li>
        </ul>
        <ul id="position">
            <li class="cur"></li>
            <li class=""></li>
            <li class=""></li>
        </ul>
        <a href="javascript:;" id="prev" class="arrow">&lt;</a>
        <a href="javascript:;" id="next" class="arrow">&gt;</a>

    </div>

css设置:

*{
             margin: 0;
             padding: 0;
             text-decoration: none;
         }
        ul{
            list-style: none;
        }
        #container{
            position: relative;
            width: 400px;
            height: 200px;
            margin: 20px auto;
        }

        .pic li {
            position: absolute;
            top: 0;
            left: 0;
            display: none;
        }
        .pic li img {
            width: 400px;
            height: 200px;
        }
        #position{
            position: absolute;
            bottom: 0;
            right:0;
            margin: 0;
            background: #000;
            opacity: 0.4;
            width: 400px;
            text-align: center;
        }
        #position li{
            width: 10px;
            height: 10px;
            margin:0 2px;
            display: inline-block;
            -webkit-border-radius: 5px;
            border-radius: 5px;
            background-color: #afafaf;
        }
        #position .cur{
            background-color: #ff0000;
        }

         .arrow {
             cursor: pointer;
              display: none;
              line-height: 39px;
              text-align: center;
              font-size: 36px;
              font-weight: bold;
              width: 40px;
              height: 40px;
              position: absolute;
              z-index: 2;
              top: 50%;
              margin-top: -20px; /*width的一半*/
              background-color: RGBA(0,0,0,.3);
              color: #fff;
          }
        .arrow:hover {
            background-color: RGBA(0,0,0,.7);
        }
        #container:hover .arrow {
            display: block;
        }
        #prev {
            left: 20px;
        }
        #next {
            right: 20px;
        }

JavaScript代码:

$(function(){
            //第一张显示
            $(".pic li").eq(0).show();
            //鼠标滑过手动切换,淡入淡出
            $("#position li").mouseover(function() {
                $(this).addClass(‘cur‘).siblings().removeClass("cur");
                var index = $(this).index();
                i = index;//不加这句有个bug,鼠标移出小圆点后,自动轮播不是小圆点的后一个
                // $(".pic li").eq(index).show().siblings().hide();
                $(".pic li").eq(index).fadeIn(500).siblings().fadeOut(500);
            });
            //自动轮播
            var i=0;
            var timer=setInterval(play,2000);
            //向右切换
            var play=function(){
                i++;
                i = i > 2 ? 0 : i ;
                $("#position li").eq(i).addClass(‘cur‘).siblings().removeClass("cur");
                $(".pic li").eq(i).fadeIn(500).siblings().fadeOut(500);
            }
            //向左切换
            var playLeft=function(){
                i--;
                i = i < 0 ? 2 : i ;
                $("#position li").eq(i).addClass(‘cur‘).siblings().removeClass("cur");
                $(".pic li").eq(i).fadeIn(500).siblings().fadeOut(500);
            }
            //鼠标移入移出效果
            $("#container").hover(function() {
                clearInterval(timer);
            }, function() {
                timer=setInterval(play,2000);
            });
            //左右点击切换
            $("#prev").click(function(){
                playLeft();
            })
            $("#next").click(function(){
                play();
            })
        })

时间: 2024-10-02 20:59:59

jQuery淡入淡出效果轮播图的相关文章

jQuery淡入淡出的轮播图

html结构: <div class="banna">            <ul class="img">                <li><a href=""><img src="../images/pic1.jpg" ></a></li>                <li><a href="&quo

【前端】javascript+jQuery实现旋转木马效果轮播图slider

实现效果: 实现原理: 技术栈: javascript+jQuery+html+css 实现步骤: // 0. 获取元素 // 1. 鼠标放置到轮播图上,显示两侧的控制按钮,移开后隐藏 // 2. 为两侧控制按钮绑定事件(调用同一个方法,只有一个参数,true为正向旋转,false为反向旋转) 实现代码: <!DOCTYPE html> <html> <head> <title>旋转木马效果轮播图</title> <meta charset

淡入淡出js轮播广告

淡入淡出js轮播广告,写法类似自动播放的tab选项卡,加入了淡入淡出效果. js代码: function lunbo(contClass, numArr, normalClass, hoverClass){ function getElementsByClass(searchClass,node,tag) { var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag =

JQuery教程:实现轮播图效果

轮播图说起来非常简单,就是几张图片一直不停的轮流播放,但是要想写好代码,也要考虑下性能问题,下面我们来简单的实现一下. 首先,页面代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <link rel="stylesheet" type="text/css" href=&q

JQuery实现简单的轮播图基本思路

demo点这里 需要达到的效果 常见的轮播图组件自动翻页,左右跳转按钮,下方是indexindex显示了当前图片位置,左右按钮就是更改当前位置第一个版本暂时不定义api了,写简单点 大概思路 用banner隐藏超出部分的图片imageList是inline要显示的话就float到标签位置 首先是html 从sublime换了webstorm,自带了emmet插件也就是可以这样写div.wrapper>div.banner>ul.imageList>(li>img)*4^img+im

jQuery实现简单的轮播图

先看效果,如果是你想要的,可以看看总体思路: 1.自动轮播2.指定轮播3.左右翻动 详细步骤:jQuery部分 设置第一张图片显示,其他的兄弟元素隐藏 自动轮播的时候,指定第一张的索引为 i=0,然后 i++, 使其对应的 i 索引的图片显示,其他的隐藏,当 i=5(即第六张图片的时候,使其为第一张即可,否则我们没有第六张图片就不显示了). 指定图片轮播,就是鼠标移动到白圈上显示对应的图片,并计时器停止,我们可以看看图片上的内容,有的轮播图计时器还是继续的,看不了什么内容:鼠标离开则继续轮播.

前端框架之jQuery(二)----轮播图,放大镜

事件 页面载入   ready(fn)  //当DOM载入就绪可以查询及操纵时绑定一个要执行的函数.   $(document).ready(function(){}) -----------> $(function(){}) 事件处理   $("").on(eve,[selector],[data],fn)  // 在选择元素上绑定一个或多个事件的事件处理函数.    //  .on的selector参数是筛选出调用.on方法的dom元素的指定子元素,如:   //  $('u

jquery 实现3d切割轮播图

总结: 1.布局时4张图片分别为一个立体长方体的4个侧面,屏幕为该长方体的几何中心. 2.注意点击左按钮,显示上一张图片,沿X轴旋转的是 90deg,  右按钮,则为 90deg   3.切割效果通过li过渡延时来实现,通过节流阀控制过渡完成的时间点,也就是下次点击事件可以触发的时间点.  效果图:       1.html: <!--3d立体轮播图--><section class="box"> <ul class="imageBox"

CSS3,3D效果轮播图

---恢复内容开始--- 大家还记得我昨天的3D拖拽立方体吗??我昨天还说过css还可以做轮播图,所以咱们今天就写一下,css的轮播图吧! ....这个轮播图主要是用CSS3里的transform的旋转属性来完成3D效果的,然后配合原生js的显示隐藏,达到了3D旋转轮播图的效果: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/ht