zoukankan      html  css  js  c++  java
  • 首页图片滚动效果

    很多网站首页,都用滚动的大图,每滚过一张,停留几秒;点击图片,能进入详情页;上面有导航器,点击导航,图片可以滚动到指定页,这个效果我想学习很久了,最近才自己摸索出来:

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <style>
    #outer-border {
        1000px;
        height:400px;
        overflow:hidden;
    }
    
    #items {
         300%;
        position: relative;
        left:-1000px;
    }
    
    ._item {
        float: left;
    }
    
    #item_index {
        position: absolute;
        top:360px;
        left:40px;
        
    }
    
    ._index {
        18px;
        height:18px;
        border:solid 1px;
        text-align:center;
        float:left;
        margin-right:8px;
        overflow:auto;
        cursor:pointer;
    }
    </style>
    <script src="../js/jquery-2.1.1.min.js" type="text/javascript"></script>
    <script>
    $(document).ready(
                function(e) {
                    var imgWidth = $("._item").eq(0).width(); //获取单张图片宽度
                    var _index = 0; //图片指示器初始位置
                    var current_index = 0; //当前显示图片的索引
                    var img_scroll = setInterval(scroll_left,3000);//设置停顿时间
                    
                    //设置点击图片时的事件
                    $("._item").click(function(e) {
                        var src = $(this).attr("src");//获取所点击的图片的地址,根据该地址来判断点击了哪张图片,需要进入什么页面
                        switch(src){
                            case "../images/index_picture/1.jpg" :
                                alert("'" + src + "' was clicked");
                                break;
                            case "../images/index_picture/2.jpg" :
                                alert("'" + src + "' was clicked");
                                break;
                            case "../images/index_picture/3.jpg" :
                                alert("'" + src + "' was clicked");
                                break;
                            case "../images/index_picture/4.jpg" :
                                alert("'" + src + "' was clicked");
                                break;
                            default:
                                alert("You click nothing!");
                        }
                    });
                    
                    //设置图片指示器被点击时的处理方法
                    $("._index").click(function(e) {
                        clearInterval(img_scroll); //停止图片滚动
                        var clicked_index = $(this).index("._index"); //获取被点击的索引
                        var distance = clicked_index - current_index; //计算被点击的索引与当前索引的距离
                        if(distance > 0 ){
                            $("._index").eq(current_index).css("background","none");
                            $("._index").eq(clicked_index).css("background","blue");
                            for(var t = 0; t < distance; t++){
                                $("#items").animate({
                                    left:"-=" + imgWidth +"px"
                                    },
                                    100,
                                    function(){                    
                                        $(this).css("left","-1000px");
                                        var num = $("._item").length;
                                        var temp = $("._item").eq(0).attr("src");
                                        for(var i = 0; i < (num - 1); i++)
                                        {
                                            $("._item").eq(i).attr("src",$("._item").eq(i+1).attr("src"));
                                        }
                                        $("._item").eq(num - 1).attr("src",temp);
                                    }
                                );
                                                            
                            }
                            _index = clicked_index;
                            current_index = clicked_index;
                        }
                        if(distance < 0){
                            $("._index").eq(current_index).css("background","none");
                            $("._index").eq(clicked_index).css("background","blue");
                            distance = -distance;
                            for(var t = 0; t < distance; t++){
                                $("#items").animate({
                                    left:"+=" + imgWidth +"px"
                                    },
                                    100,
                                    function(){                    
                                        $(this).css("left","-1000px");
                                        var num = $("._item").length;
                                        var temp = $("._item").eq(num - 1).attr("src");
                                        for(var i = num - 1; i > 0; i--)
                                        {
                                            $("._item").eq(i).attr("src",$("._item").eq(i-1).attr("src"));
                                        }
                                        $("._item").eq(0).attr("src",temp);
                                    }
                                );
                            }
                            _index = clicked_index;
                            current_index = clicked_index;
                        }
                        img_scroll = setInterval(scroll_left,3000);
                    });
                    
                    //左滚动函数
                    function scroll_left(){
                        $("._index").eq(_index).css("background","none");
                        if(_index == 3){
                            _index = -1;
                        }
                        current_index = _index + 1;
                        $("._index").eq(_index + 1).css("background","blue");
                        _index += 1;
                            
                        $("#items").animate({
                            left:"-=" + imgWidth +"px"
                            },
                            1000,
                            function(){                    
                                $(this).css("left","-1000px");
                                var num = $("._item").length;
                                var temp = $("._item").eq(0).attr("src");
                                for(var i = 0; i < (num - 1); i++)
                                {
                                    $("._item").eq(i).attr("src",$("._item").eq(i+1).attr("src"));
                                }
                                $("._item").eq(num - 1).attr("src",temp);
                            }
                        );
                    }
                    
                    //右滚动函数,最终并没有用到这个函数,只是运用到了它的原理,但还是值得保留
                    function scroll_right(){
                        $("._index").eq(_index).css("background","none");
                        if(_index == 3){
                            _index = -1;
                        }
                        current_index = _index + 1;
                        $("._index").eq(_index + 1).css("background","blue");
                        _index += 1;
                        
                        $("#items").animate({
                            left:"+=" + imgWidth +"px"
                            },
                            1000,
                            function(){                    
                                $(this).css("left","-1000px");
                                var num = $("._item").length;
                                var temp = $("._item").eq(num - 1).attr("src");
                                for(var i = num - 1; i > 0; i--)
                                {
                                    $("._item").eq(i).attr("src",$("._item").eq(i-1).attr("src"));
                                }
                                $("._item").eq(0).attr("src",temp);
                            }
                        );
                    }
    
            });
    </script>
    </head>
    
    <body>
    <!--大图区-->
    <div id="outer-border">
        <!--图片区-->
        <div id="items">
            <img class="_item" src="../images/index_picture/1.jpg" />
            <img class="_item" src="../images/index_picture/2.jpg" />
            <img class="_item" src="../images/index_picture/3.jpg" />
            <img class="_item" src="../images/index_picture/4.jpg" />
        </div>
        
        <!--索引区-->
        <div id="item_index">
            <div class="_index" style="background:blue;"></div>
            <div class="_index"></div>
            <div class="_index"></div>
            <div class="_index"></div>
        </div>
    </div>
    </body>
    </html>

    demo地址:http://dige1993.com/blog_demo/picture_scroll.html

  • 相关阅读:
    Hive metastore三种配置方式
    hive学习(一)hive架构及hive3.1.1三种方式部署安装
    hiveserver2的配置和启动
    spark安装配置
    Sqoop-1.4.6安装部署及详细使用介绍
    搭建本地yum源服务器
    Centos7.X安装impala(RPM方式)
    Hive安装与配置详解
    【图文详解】Hadoop集群搭建(CentOs6.3)
    Linux下实现免密码登录(超详细)
  • 原文地址:https://www.cnblogs.com/dige1993/p/5173890.html
Copyright © 2011-2022 走看看