AngularJS рдкрд░ рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╕рд░рд▓ рд╕реНрд▓рд╛рдЗрдбрд░

рдЖрдЬ, рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХрдИ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ рдЬреЛ рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрд▓рд╛рдЗрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдиреАрдореЗрд╢рди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ CSS3 рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ AngularJS рдХреНрдпрд╛ рдЕрд╡рд╕рд░ рдЦреЛрд▓рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдПрдХ рдиреНрдпреВрдирддрд░ рдФрд░ рд╕рд░рд▓ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдореЗрд░реА рдЦреБрдж рдХреА рд╕реНрд▓рд╛рдЗрдб рд╕рдВрдХреНрд░рдордг рдкреНрд░рднрд╛рд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░реА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рдЧрд┐рдЯрд╣рдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбреЗрдореЛ

рд╕реНрд▓рд╛рдЗрдб рдкрд░рд┐рд╡рд░реНрддрди


рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд╕рднреА рд╕реНрд▓рд╛рдЗрдбреНрд╕ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ, AngularJS рдкрд░ рдпрд╣ рдХреЗрд╡рд▓ ng-repeat рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 //      $scope.slides = [ { 'image': 'images/image1.png' }, { 'image': 'images/image2.png' } ]; 

HTML рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ:
 <div ng-repeat="(i, slide) in slides"> <img ng-src="{{ slide.image }}" /> </div> 

рдирддреАрдЬрддрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХреЛрдб рд╣реИ рдЬреЛ рд╕рднреА рд╕реНрд▓рд╛рдЗрдбреНрд╕ (рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЪрд┐рддреНрд░) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдм рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдВрдЧреБрд▓рд░рдЬреЗрдПрд╕ рдореЗрдВ setInterval рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рд╕рджрд╛ рдЯрд╛рдЗрдорд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ $timeout рдХрд╣реЗрдВрдЧреЗред рдРрд╕реЗ рдЯрд╛рдЗрдорд░ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ $timeout.cancel рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
 //    $scope.next = function() { var total = $scope.slides.length; if (total > 0) { $scope.$slideIndex = ($scope.$slideIndex == total - 1) ? 0 : $scope.$slideIndex + 1; } }; //  play  ,         $scope.play = function() { timeOut = $timeout(function() { $scope.next(); $scope.play(); }, 2000); }; 

рдЕрдм рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдПрдХ рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рд╕реНрд▓рд╛рдЗрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛:
 <div ng-repeat="(i, slide) in slides" ng-show="i == $slideIndex"> <img ng-src="{{ slide.image }}" /> </div> 

рдпрджрд┐ рд╣рдо рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрд▓рд╛рдЗрдбрд░ рд╣реЛрдЧрд╛ рдЬреЛ рд╣рд░ 2 рд╕реЗрдХрдВрдб рдореЗрдВ рдЫрд╡рд┐ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рднрд╛рд╡ рдХреЗред

рд╕реНрд▓рд╛рдЗрдб рд╕рдВрдХреНрд░рдордг рдкреНрд░рднрд╛рд╡


AngularJS рдПрдХ рдЕрд▓рдЧ ngAnimate рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЛ рдПрдирд┐рдореЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрд╣ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рд╕реНрд▓рд╛рдЗрдб рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдкреНрд░рднрд╛рд╡реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдзреАрд░реЗ-рдзреАрд░реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 .animation-fade.ng-hide-add, .animation-fade.ng-hide-remove { /*        */ -webkit-transition: 1s linear all; -moz-transition: 1s linear all; -o-transition: 1s linear all; transition: 1s linear all; display: block !important; } .animation-fade.ng-hide-add, .animation-fade.ng-hide-remove.ng-hide-remove-active { /*           */ opacity: 1; } .animation-fade.ng-hide-add.ng-hide-add-active, .animation-fade.ng-hide-remove { /*           */ opacity: 0; position: absolute; } рдЫрд┐рдкрд╛рдиреЗ-рдПрдб-рд╕рдХреНрд░рд┐рдп, .animation-fade.ng-hide-add, .animation-fade.ng-hide-remove { /*        */ -webkit-transition: 1s linear all; -moz-transition: 1s linear all; -o-transition: 1s linear all; transition: 1s linear all; display: block !important; } .animation-fade.ng-hide-add, .animation-fade.ng-hide-remove.ng-hide-remove-active { /*           */ opacity: 1; } .animation-fade.ng-hide-add.ng-hide-add-active, .animation-fade.ng-hide-remove { /*           */ opacity: 0; position: absolute; } 

рдЕрдм, рдЙрди рд╕рднреА рд╕реНрд▓рд╛рдЗрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдореЗрдВ animation-fade рд╡рд░реНрдЧ рд╣реИ, рдПрдХ рд╕рдВрдХреНрд░рдордг рдкреНрд░рднрд╛рд╡ / рдлреАрдХрд╛ рдкреНрд░рднрд╛рд╡ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рднреЛрд▓реЗ-рднрд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╕реАрдПрд╕рдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реА рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдкреНрд░рднрд╛рд╡реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдПрдиреАрдореЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рдПрдирд╛рд▓реЙрдЧреНрд╕ рдХреЗ рдХрд░реАрдм рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, nivoSliderред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬреЛ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЖрдзрд╛рд░ рдереЗред рдЗрд╕ рд╕рдордп рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдСрдЯреЛрдкреНрд▓реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рд╕реНрд▓рд╛рдЗрдб рдХреЗ рдмреАрдЪ рджреЗрд░реА рдореЗрдВ рдмрджрд▓рд╛рд╡, рд╕реНрд▓рд╛рдЗрдб рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рд╕реНрдХреНрд░реЙрд▓ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд▓рд╛рдЗрдб рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рдПрдирд┐рдореЗрд╢рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреА рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХрд┐рд╕реА рднреА рдорджрдж рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред

Source: https://habr.com/ru/post/In197014/


All Articles