Blogger Information
Blog 32
fans 0
comment 0
visits 22504
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
07-18作业:JQ改写图片轮播效果
Yx的博客
Original
660 people have browsed it

实例

<!DOCTYPE html>
<html>
<head>
    <title>jquery改写图片轮播</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <style>
        #lunbo{width: 600px;height: 300px;margin: 0 auto;overflow: hidden;}
        #pics{width: 600px;height: 300px;cursor: pointer;position: relative;}
        ul li{width: 600px;height: 300px;list-style: none;position: absolute;top: 0;left: 0;display: none;}
        img{width: 600px;height: 300px;}
    </style>
</head>
<body>
<div id="lunbo">
    <ul id="pics">
        <li style="display: inline;"><img src="https://img1.360buyimg.com/da/s590x470_jfs/t1/79425/15/4421/98558/5d283017E29d9a8fb/723bfa83c3f73613.jpg!q90!cc_590x470.webp"></li>
        <li><img src="https://img1.360buyimg.com/pop/s590x470_jfs/t1/45206/26/5099/84405/5d2c41f8E490ac899/c03df426cd52bfe9.jpg!q90!cc_590x470.webp"></li>
        <li><img src="https://imgcps.jd.com/ling/7307139/6LaF5biC54m56Imy57K-6YCJ/54iG5ZOB5L2O6IezOS455YWD/t-5bd95d4f8e34e21f3ff67e71/15a71c63.jpg"></li>
    </ul>
</div>
<script type="text/javascript">
    $(document).ready(function(){
        var oLi = $("li");
        var liWidth = oLi.eq(0).width();
        var liHeight = oLi.eq(0).height();
        //每隔3秒进行轮播
        var timer = setInterval(change,3000);
        //鼠标放置在图片上时停止轮播,移开时继续轮播
        $("div").mouseover ( function(){
            clearInterval(timer);
        })
        $("div").mouseout (function(){
            timer = setInterval(change,3000);
        })
        //轮播函数
        var prevIndex = 0,nextIndex = 1;
        function change(){
            if (prevIndex == oLi.length-1 ) {//若当前图片是最后一张图片,下一张出现首张图片
                nextIndex = 0;
            }
            var n = Math.floor(Math.random()*3);
            if (n == 0) {
                fade(prevIndex,nextIndex);
            }
            else if (n== 2) {
                slide(prevIndex,nextIndex);
            }
            else{
                grap(prevIndex,nextIndex);
            }
            prevIndex = nextIndex;
            nextIndex ++;
        }
        //淡入淡出效果,
        function fade(prevIndex,nextIndex){
            //传入当前显示图片以及下一张图片的索引
            oLi.eq(prevIndex).fadeOut(1000);
            oLi.eq(nextIndex).fadeIn(1000);
        }
        //向左右滑动效果
        function slide(prevIndex,nextIndex){
            var rand = Math.floor(Math.random()*2);
            oLi.eq(nextIndex).show();
            oLi.eq(nextIndex).css("z-index","-1");
            if (rand) {
                //向左滑动
                oLi.eq(prevIndex).animate({left: -liWidth},1000,fun);
            }
            else{
                oLi.eq(prevIndex).animate({left: liWidth},1000,fun);
            }
            function fun(){
                oLi.eq(prevIndex).css({"left":"0","display":"none"});
                oLi.eq(nextIndex).css("z-index","1");
            }
        }
        //收缩效果
        function grap(prevIndex,nextIndex){
            var rand = Math.floor(Math.random()*4);
            oLi.eq(nextIndex).show();
            oLi.eq(nextIndex).css("z-index","-1");
            switch (rand){
                case 0://向左上角滑动
                    oLi.eq(prevIndex).animate({left: -liWidth,top: -liHeight},1000,function(){
                        oLi.eq(prevIndex).css({"left":"0","top": "0","display":"none"});
                        oLi.eq(nextIndex).css("z-index","1");
                    });break;
                case 1://向右上角滑动
                    oLi.eq(prevIndex).animate({left: liWidth,top: -liHeight},1000,function(){
                        oLi.eq(prevIndex).css({"left":'0',"top":"0","display":"none"});
                        oLi.eq(nextIndex).css("z-index","1");
                    });break;
                case 2://向右下角滑动
                    oLi.eq(prevIndex).animate({left: liWidth,top: liHeight},1000,function(){
                        oLi.eq(prevIndex).css({"left":'0',"top":"0","display":"none"});
                        oLi.eq(nextIndex).css("z-index","1");
                    });break;
                case 3://向左下角滑动
                    oLi.eq(prevIndex).animate({left: -liWidth,top: liHeight},1000,function(){
                        oLi.eq(prevIndex).css({"left":'0',"top":"0","display":"none"});
                        oLi.eq(nextIndex).css("z-index","1");
                    });break;
                default:break;
            }
        }
    });
</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:qualified

Teacher's comments:看出得非常的用心, 通过这个案例,基本上把jQ常用语法都用到了
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post