js:使用angular实现画廊效果

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="../css/bootstrap.min.css"/>
    <script src="../angular-1.6.5/angular.js"></script>
    <style type="text/css">
        *{padding:0px;margin: 0px;list-style-type: none;}
        .bb{
            transition:all 1s ;
        }
    </style>
</head>
<body ng-app="myApp">
    <div ng-controller="myCtrl" style="margin:0px auto;overflow:hidden; position:relative; width:540px">
        <!--/*通过比较此参数决定是否使用此样式*/-->
        <ul ng-style="uls" style="width: 2160px;position: relative; overflow:
             hidden; padding: 0px; margin: 0px;" ng-class="{bb:1==see}">
            <!--循环遍历lis-->
               <li ng-style="aa" style="float: left; width: 540px;" ng-repeat="item in lis">
                  <img src="{{item.img}}" />
               </li>
        </ul>
    </div>
</body>
<script language="JavaScript">
    var app = angular.module("myApp", []);
    app.controller("myCtrl", function($scope) {
        $scope.lis = [
            {"img":"../image/slide1.jpg"},
            {"img":"../image/slide2.jpg"},
            {"img":"../image/slide3.jpg"}
        ]
        $scope.uls = {"left":"0px"};
            var index=0;
        $scope.see=1;
        var ll=0;
            setInterval(function(){
                $scope.$apply(function(){   //如果在setInterval或者其它js类似方法中修改了数据,需要手动通过apply更新。
                    var lv=parseInt($scope.uls.left);

                    if(index==2){
                        if(ll==2){
                        $scope.lis = [
                            {"img":"../image/slide3.jpg"},
                            {"img":"../image/slide1.jpg"},
                            {"img":"../image/slide2.jpg"}
                        ]
                        }else if(ll==4){
                            $scope.lis = [
                                {"img":"../image/slide2.jpg"},
                                {"img":"../image/slide3.jpg"},
                                {"img":"../image/slide1.jpg"}
                            ]
                        }else if(ll==6){
                            $scope.lis = [
                                {"img":"../image/slide1.jpg"},
                                {"img":"../image/slide2.jpg"},
                                {"img":"../image/slide3.jpg"}
                            ]
                            ll=0;
                        }
                        console.log(ll);
                        $scope.see=0;
                        index=0;
                        lv=0;


                    }else{$scope.see=1;lv-=540;index++;ll++;}
                          $scope.uls.left = lv+"px";

                })
            },1500);
    });

</script>
</html>

 

转载于:https://www.cnblogs.com/dybe/p/8253866.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值