zoukankan      html  css  js  c++  java
  • 点击按钮左右滚动

    * {margin: 0; padding: 0;}
            img {display: block; border: none;}
            ul, li {list-style: none;}
            a, a:hover, a:active, a:target {text-decoration: none; color: #000;}
            .outer {position: relative;margin: 0 auto;width: 1000px;height: 145px;overflow: hidden;box-shadow: 3px 3px 10px 0 #ccc;}
            .inner {position: absolute;top: 0;left: 0;width: 5000px;}
            .inner li {float: left;padding: 5px;}
            .inner li img{width: 209px; height: 125px;}
            .outer a {position: absolute;top: 50%;margin-top: -22.5px;width: 30px;height: 45px;background: url("img/pre.png") no-repeat;opacity: 0.3;filter: alpha(opacity=30);}
            .outer a:hover {opacity: 1; filter: alpha(opacity=100);}
            .outer a.btnLeft {left: 20px;}
            .outer a.btnRight {right: 20px; background-position: -50px 0;}
            .box{width:880px; overflow: hidden; height: 240px; position: absolute; left:60px;}
    <div class="outer">
        <div class="box">
            <ul class="inner" id="inner">
                <li><img src="img/1.jpg"></li>
                <li><img src="img/2.jpg"></li>
                <li><img src="img/3.jpg"></li>
                <li><img src="img/4.jpg"></li>
                <li><img src="img/5.jpg"></li>
                <li><img src="img/6.jpg"></li>
                <li><img src="img/7.jpg"></li>
                <li><img src="img/8.jpg"></li>
                <li><img src="img/1.jpg"></li>
            </ul>
        </div>
        <a class="btnLeft"></a>
        <a class="btnRight"></a>
    </div>
    <script charset="utf-8" type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
    <script charset="utf-8" type="text/javascript">
        (function () {
            var step = 0, count = $(".inner li").length-4;
            var $inner = $("#inner");
            function autoMove() {
                step++;
                if (step > count) {
                    $inner.css("left", 0);
                    step = 0;
                }
                $inner.stop().animate({left: -step * 219}, 500);
            }
    
            //->左右切换
            $(".outer").on("click","a",function() {
                if ($(this).index() == 1) {   //
                    step--;
                    if (step < 0) {
                        $inner.css("left", -count * 219);
                        step = count - 1;
                    }
                    $inner.stop().animate({left: -step * 219}, 500);
                } else {   //
                    autoMove();
                }
            });
        })();
    </script>

    js封装方法可以一个页面多次使用,只需传入对应id.

    //图片滚动
    roll("#inner");
    roll("#inner2");

    function roll(oneRoll){
    var step = 0;
    var count = $(""+oneRoll+" li").length;
    var $inner = $(""+oneRoll+"");
    var liWidth = $(""+oneRoll+" li").outerWidth();
    var ulWidth = liWidth * count + 'px';

    //算出整个ul撑开的宽度
    $inner.css("left", "0");
    $(""+oneRoll+"").css({
    "width": ulWidth
    });

    $inner.parent().siblings().filter(".btnLeft").hide();
    if(count <= 3) {
    $inner.parent().siblings().filter(".btnRight").hide();
    }

    
    

    //点左按钮
    $inner.parent().siblings().filter(".btnLeft").off("click").on("click", function() {
    $inner.parent().siblings().filter(".btnRight").show();
    step -= 1;
    $inner.stop().animate({
    left: -step * liWidth
    }, 500);
    if(step < 1) {
    $(this).hide();
    }
    })
    //点右按钮
    $inner.parent().siblings().filter(".btnRight").off("click").on("click", function() {
    step += 1;
    var myStep = step - 1;
    if(myStep == count-3) {
    $inner.parent().siblings().filter(".btnRight").hide();
    }
    $inner.stop().animate({
    left: -step * liWidth
    }, 500);
    $inner.parent().siblings().filter(".btnLeft").show();
    })
    }

     
  • 相关阅读:
    利用@media screen实现网页布局的自适应
    心得体悟帖---200315(任何时候,都不要为不值得的人,不值得的事,费时间,费心力)
    心得体悟帖---200315(急啥,复习什么录什么)
    vue项目目录结构详解
    日常英语---200313(npm WARN deprecated vue-cli@2.9.6: This package has been deprecated in favour of @vue/cli)
    vuex是干什么的
    石川es6课程---4、箭头函数
    石川es6课程---3、变量let和常量const
    vue参考---eslink编码规范检查
    vue参考---vue项目结构
  • 原文地址:https://www.cnblogs.com/xuemingyao/p/5408627.html
Copyright © 2011-2022 走看看