2015-08-02 8 views
5

Chcę uzyskać efekt animacji, gdy ktoś kliknie kartę, a krawędź poniżej tej zakładki przesunie się w prawo, a przycisk ma przyjemny efekt marszczenia. Nie chcę korzystać z zawartości wewnątrz karty, po prostu chcę efektu karty.Materiał kątowy mdTabs - jak uzyskać tylko efekt animacji tabulacji, a nie treść?

mdTabs

Jak widać, klikając na zakładkę drugiego uczyni slajd granicznego w prawo, ale treść będzie również przesunąć w lewo. Chcę tylko, aby przycisk karty przesuwał się w prawo jako część mojego efektu. Jak mogę to osiągnąć?

Odpowiedz

10

Można użyć dyrektywy MD-tabs bez zawartości:

var app = angular.module('app', ['ngMaterial']); 
 
app.controller('myController', function($scope) { 
 
    $scope.selectedIndex = 0; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular-animate.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular-aria.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-material/0.10.0/angular-material.js"></script> 
 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/angular-material/0.10.0/angular-material.min.css"> 
 

 
<md-content ng-app="app" ng-controller="myController"> 
 
    <md-tabs md-dynamic-height md-border-bottom md-selected="selectedIndex"> 
 
    <md-tab label="one"></md-tab> 
 
    <md-tab label="two"></md-tab> 
 
    <md-tab label="three"></md-tab> 
 
    </md-tabs> 
 
    <div layout layout-align="center center">{{ selectedIndex }}</div> 
 
</md-content>

+0

Dzięki kolego. Zastanawiam się, czy możemy wtedy śledzić selectedIndex i pokazywać zawartość oraz korzystać z klas animacji '.ng-enter' itd. Do animowania widoków? Próbuję osiągnąć taki sam efekt jak ta strona internetowa: https://stemn.com/ –

+0

Możesz zobaczyć w swoim kodzie, że dodali dyrektywy 'ui-sref' do' 's, więc po kliknięciu zakładka zmienia stan. – DTing

17

Możesz dodać ten w stylach

[role="tabpanel"] { 
    transition: none; 
} 
+0

Próbowałem użyć twojej logiki, ale to nie działa. Próbowałem też, bo poniższy kod nadal nie może usunąć przejścia. md-tabs-content-wrapper, * [rola = "tabpanel"] { przejście: brak; } Jakieś inne pomysły? Dzięki za pomoc. –

+0

Czy możesz pokazać swój przykład na jsfiddle? –

+0

Pracowałem dla mnie, to jest o wiele prostsze, dzięki! –