我有2个按钮的导航栏。
str2
当点击div#toggle-menu时,会显示div#sidebar-mobile-wrapper。
<div class="navbar-header">
<div class="navbar-header">
<div id="toggle-menu" ng-click="isShowSideBarMobile = !isShowSideBarMobile"><i class="fa fa-bars fa-3x"></i></div>
<div id="toggle-function" ng-click="isShowRightContent = !isShowRightContent"><i class="fa fa-ellipsis-v fa-3x"></i></div>
</div>
</div>
当我点击div#toggle-function时,会显示div#right-content-mobile。
<div id="sidebar-mobile-wrapper" class="container-fluid" ng-show="isShowSideBarMobile"></div>
这一切都奏效了。但现在我想,一次只能显示一个div。因此,当我点击#切换菜单时,如果div#right-content-mobile可见,它将是隐藏和侧边栏 - 移动 - 包装,否则。
答案 0 :(得分:0)
将模型值的工作封装到控制器中是非常好的主意,这使您能够轻松地更改行为。
您可以使用以下方法:
<div class="navbar-header">
<div id="toggle-menu" ng-click="contentToggle('mobile')">Toggle mobile</div>
<div id="toggle-function" ng-click="contentToggle('right')">Toggle right</div>
</div>
<div ng-show="isContentToggled('mobile')">
<strong>Mobile content</strong>
</div>
<div ng-show="isContentToggled('right')">
<strong> Right content</strong>
</div>
使用控制器方法
$scope.content = undefined;
$scope.contentToggle = function(name){
if ($scope.isContentToggled(name)){
$scope.content = undefined;
} else {
$scope.content = name;
}
}
$scope.isContentToggled = function (name){
return $scope.content == name;
}
查看示例
答案 1 :(得分:0)
仅使用mobileMenuCollapsed
变量:
<div class="navbar-header">
<div class="navbar-header">
<div id="toggle-menu" ng-click="mobileMenuCollapsed = !mobileMenuCollapsed"><i class="fa fa-bars fa-3x"></i></div>
<div id="toggle-function" ng-click="mobileMenuCollapsed = !mobileMenuCollapsed"><i class="fa fa-ellipsis-v fa-3x"></i></div>
</div>
</div>
<div id="sidebar-mobile-wrapper" class="container-fluid" ng-show="!mobileMenuCollapsed"></div>
<div class="container-fluid right-content-mobile" ng-show="mobileMenuCollapsed"></div>
答案 2 :(得分:0)
寻找this。我希望它正是你所需要的。实际上,您需要为此任务使用现成的解决方案(例如标签,手风琴,面板)。
<div class="navbar-header">
<div class="navbar-header">
<div id="toggle-menu" ng-click="isShowSideBarMobile = !isShowSideBarMobile;isShowRightContent = false;"><i class="fa fa-bars fa-3x"></i><button>isShowSideBarMobile</button></div>
<div id="toggle-function" ng-click="isShowRightContent = !isShowRightContent;isShowSideBarMobile = false;"><i class="fa fa-ellipsis-v fa-3x"></i><button>isShowRightContent</button></div>
</div>
</div>
<div id="sidebar-mobile-wrapper" class="container-fluid" ng-show="isShowSideBarMobile && !isShowRightContent">sidebar-mobile-wrapper</div>
<div id="right-content-mobile" class="container-fluid" ng-show="isShowRightContent && !isShowSideBarMobile">right-content-mobile</div>