2つの状態が必要です。最初の要素は要素1を中心にしています。クリックがアクティブになると、別の要素(要素2)が右(アニメーション)プッシュ要素から片方だけスライドして、両方の要素がページの中央に配置されます(第2の状態)。次に、ng-clickが再度トグルされると、逆のことが起こり、要素2が右側のビューから外にスライドし、要素1が元の最初の状態に戻されます。 スライドアニメーションで1つの要素と2つの要素を横に切り替える - AngularJS
0
A
答えて
1
私はこれがどのように見えるかのサンプルを追加しました。概念は単純です。最初にangleのng-class
ディレクティブを使用して、コントローラのプロパティに基づいてcssクラスを追加および削除します。このプロパティは、最初の要素のng-click
に切り替わります。次に、コンテンツをラップする要素にcss3トランジションを追加します。したがって、最初の要素の幅が100% -> 50%
になると、2番目の要素の幅は0% -> 50%
になります。それらは同じ遷移クラスを共有するため、2番目の要素は最初の要素が縮小するのと同じ割合で展開されます。
var myApp = angular.module('myApp',[]);
myApp.controller('MainCtrl', MainCtrl);
function MainCtrl($scope) {
$scope.showFull = true
}
.content{
text-align: center;
transition: width linear 1s;
overflow:hidden;
display:inline-block;
}
.content span{
font-size:10em;
color: #FFFFFF;
}
.fullWidth{
width:100%;
}
.halfWidth{
width:50%;
}
.noWidth{
width:0;
}
.red{
background-color: red;
}
.blue{
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MainCtrl">
<div class="content red" ng-class="showFull ? 'fullWidth' : 'halfWidth'" ng-click="showFull = !showFull">
<span>1</span>
</div><div class="content blue" ng-class="showFull ? 'noWidth' : 'halfWidth'">
<span>2</span>
</div>
</div>
0
前の回答の上に若干の改善誰かがボタンを使ってスライドさせる必要がある場合。 この実装は、2つのdiv間を移動するのに非常に簡単です。 @Sasang
のおかげvar myApp = angular.module('myApp',[]);
myApp.controller('MainCtrl', MainCtrl);
function MainCtrl($scope) {
$scope.showFull = true
}
.content{
text-align: center;
transition: width linear 0.2s;
overflow:hidden;
display:inline-block;
}
.content span{
font-size:10em;
color: #FFFFFF;
}
.fullWidth{
width:100%;
}
.halfWidth{
width:50%;
}
.noWidth{
width:0;
}
.red{
background-color: red;
}
.blue{
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MainCtrl">
<div class="content red" ng-class="showFull ? 'fullWidth' : 'noWidth'" >
<span><button ng-click="showFull = !showFull">Next</button></span>
</div><div class="content blue" ng-class="showFull ? 'noWidth' : 'fullWidth'">
<span><button ng-click="showFull = !showFull">Prev</button></span>
</div>
</div>
関連する問題
- 1. コンテンツを1つの要素から次の要素に切り替えますか?
- 2. リアクションの2つの要素onclickの間のclassNameの切り替え
- 3. React - 複数の類似した要素の1つを切り替えるための1つのイベントハンドラ
- 4. 1つの小節で要素を並べ替える方法
- 5. 3つの要素の間で自動的に切り替える
- 6. jQueryで1つの機能を持つ別のオブジェクトをクリックして複数の要素を切り替える
- 7. clearcase 2つの要素を1つの要素に結合する
- 8. jQueryは2つの要素を1つの要素として扱います
- 9. wp 8.1で要素のフロー方向を1つずつ切り替える方法は?
- 10. 1つのボタンで2つのイベントを切り替える
- 11. TinyMCE 4 - 2つの要素を1つにまとめる
- 12. jqueryで複数の要素のクローズを切り替える
- 13. 2つのボタンを1つに切り替える(トグル)
- 14. 2つの要素を同時にもう1つの要素を要素に追加します
- 15. jQueryのトグルとクリックイベントの切り替えは、トグル後に奇妙なバウンスで要素を切り替える
- 16. onclickで特定のクラス要素を切り替える
- 17. チェックボックスの状態で要素クラスを切り替える
- 18. ボタンの要素表示を切り替えるには
- 19. 同じクラスのいくつかの要素を切り替えます
- 20. 1分ごとに2つのhtmlファイルを切り替える
- 21. 私は切り抜いたngModelsと基本要素の後にいくつかの要素を追加angularjs
- 22. TextInputsを切り替えるのに2つのタップが必要です(1タップで切り替える必要があります)
- 23. 角度4のsvgのアニメーション要素を切り替える
- 24. jQuery - 次の要素のみを切り替える
- 25. vuejsの配列内の要素を切り替える方法
- 26. 現在の要素angle2のみを切り替える方法
- 27. 多くの要素の内容を切り替えるjQuery
- 28. コンテナonclickビデオ要素とテキストの切り替え
- 29. JavaScript - 複数の要素を切り替えるために未定義の要素数をクリックすると
- 30. AngularJSを使用してsvg要素を切り替える方法