1. 程式人生 > >js:使用angular實現畫廊效果

js:使用angular實現畫廊效果

ots function width -c sheet all one ng-repeat content

<!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>

js:使用angular實現畫廊效果