初学JQ之轮播图

刚开始学习JQ,试着自己写了一个轮播图。
HTML部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>轮播效果图</title>
    <script type="text/javascript" src='jquery-3.1.1.min.js'></script>
<body>
  <div id="banner">
    <ul>
      <li><a href="跳转的地址" target="_blank"></a></li>
      <li><a href="跳转的地址" target="_blank"></a></li>
      <li><a href="跳转的地址" target="_blank"></a></li>
    </ul>
    <span class="b-btn left"><</span>
    <span class="b-btn right">></span>
  </div>
</body>
</html>

CSS部分

                *{margin: 0;padding: 0;}
        #banner{
                margin: 0 auto;
                background: #ebebeb;
                width: 600px;
                height: 300px;
        }
        #banner ul{
                    position: absolute;
                    width: 600px;
                    height: 300px;
                    overflow: hidden;
        }
        #banner li{
                    display: none;
        }
        #banner img{
                    width: 600px;
                    height: 300px;
        }
        #banner .b-btn{
                    display: inline-block;
                    height: 300px;
                    width: 100px;
                    font: 70px/300px '微软雅黑';
                    text-align: center;
                    color: #8B7B8B;
                    opacity: 0.2;
                    /*防止双击的时候出现蓝底*/
                    -webkit-user-select:none; 
                    -moz-user-select:none; 
                    -ms-user-select:none; 
                    user-select:none;
        }
        #banner .b-btn:hover{
                            background: #cdc1c5;
                            color: #f8f8ff;
                            opacity: 0.5;
                            cursor: pointer;
        }
        #banner .right{
                      float: right;
        }

JS部分

var time;
var num=$('#banner li').length;
var b_num=1;

//初始设置显示第一张轮播图
$('#banner li').eq(0).show();
//轮播图自动切换
function bannerMove(){
    time=setInterval(function(){
    //轮播图淡入淡出
    $('#banner li').eq(b_num%num).fadeIn(500).siblings('li').fadeOut(200);
        b_num++;
    },3000)
};
bannerMove();//开始自动轮播

//鼠标移入图片和左右按钮时停止自动播放
$('#banner li,#banner .right,#banner .left').mouseover(function(){
    clearInterval(time)
});

//鼠标移出图片和左右按钮时开始自动播放
$('#banner li,#banner .right,#banner .left').mouseout(function(){
    bannerMove()
});

//点击右键切换图片
$('#banner .right').click(function(){
    $('#banner li').eq(b_num%num).fadeIn(500).siblings('li').fadeOut(200);
    b_num++;
})
//点击左键切换图片
$('#banner .left').click(function(){
    if (b_num%num==0) {
        b_num=3;
    }
    $('#banner li').eq(b_num-2%num).fadeIn(500).siblings('li').fadeOut(200);
    b_num--;
});

希望大家能够多多指出错误和不够完善的地方,谢谢。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 上回书我们说到原生js淡入淡出效果的轮播图,这回我们说说左右滑动轮播图,由于需要缓动动画效果,原生js需要封装缓动...
    铅笔芯的Ta阅读 4,837评论 0 11
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,787评论 25 709
  • 我和徐认识8年,分分合合在一起5年。虽然现在大家都在异国它乡,我想对他我此生难忘。 第一次见到徐是在一个朋友家...
    方洁阅读 444评论 0 0
  • 打开命令端: 1 输入 cd (拖入工程文件,自动生成地址) 2 输入 touch Podfile (vim...
    了菩阅读 388评论 0 1
  • 昨天夜班,没在本子上写一个字,所以也没有作业。 整个写作群,只有我用手机每天把笔记本一拍上传交作业,虽然我明白我的...
    向内的旅程阅读 461评论 0 0