AngularJS实现元素显示和隐藏的几个案例


Posted in Javascript onDecember 09, 2015

案例一:控制html元素显示和隐藏有n种方法:html的hidden、css的display、jquery的hide()和show()、bootstrap的.hide。今天的重点不是显示和隐藏,而是监听某个布尔变量值,自动改变元素显示和隐藏状态。监听函数、if判断、选择dom、设置dom,5行代码搞不定吧,而且毫无技术含量。
看代码:

<!DOCTYPE html>
<html ng-app>
<head>
 <meta charset="utf-8">
 <title>ng-show and ng-hide directives</title>
</head>
<body>
<div ng-controller="VisibleController">
 <p ng-show="visible">字符串1</p>
 <p ng-hide="visible">字符串2</p>
 <button ng-click="toggle()">切换</button>
</div>
 
<script src="../lib/angularjs/1.2.26/angular.min.js"></script>
<script>
 function VisibleController($scope) {
 $scope.visible = false;
 $scope.toggle = function () {
  $scope.visible = !$scope.visible;
 }
 }
</script>
</body>
</html>

案例二:对于菜单、上下文敏感的工具以及很多其他情况来说,显示和隐藏元素是一项核心的功能。与Angualr中其他功能一样,Angular是通过修改数据模型的方式来驱动UI刷新,然后通过指令把变更反应到UI上。
ng-show和ng-hide这两条指令的功能是等价的,但是运行效果正好相反,我们都可以根据所传递的表达式来显示或隐藏元素。也就是说,ng-show在表达式为true时将会显示元素,为false时将会隐藏元素;而ng-hide则恰好相反。
这两条指令的工作原理是:根据实际情况把元素的样式设置为display:block来显示元素;设置为display:none来隐藏元素。
实例:

<html ng-app='myApp'>

<head>

<title>ng-show实例</title>

</head>

<body ng-controller='ShowController'>

<button ng-click="toggleMenu()">Toggle Menu</button>

<ul ng-show='menuState.show'>

<li>Stun</li>

<li>Disintegrate</li>

<li>Erase from history</li>

</ul>

<script src="lib/angular/angular.js"></script>

<script>var myApp=angular.module('myApp',[]) myApp.controller('ShowController', function($scope) {$scope.menuState={show: false}$scope.toggleMenu=function() {$scope.menuState.show=!$scope.menuState.show;}});</script>

</body>

</html>

运行结果:

AngularJS实现元素显示和隐藏的几个案例

点击“Toggle Menu”按钮,效果如下:

AngularJS实现元素显示和隐藏的几个案例

再次点击“Toggle Menu”按钮,下面的信息又隐藏了,交替变换。

案例三:

<!DOCTYPE html>
<html ng-app="a2_12">

 <head>
  <meta charset="utf-8">
  <title></title>
  <script type="text/javascript" src="../js/angularJs-1.2.16-min.js"></script>
  <style type="text/css">
   body{
    font-size: 12px;
   }
   ul{
    list-style-type: none;
    width: 408px;
    margin: 0px;
    padding: 0px;
   }
   div{
    margin: 8px 0px;
   }
  </style>
 </head>

 <body>
  <div ng-controller="c2_12">
   <div ng-show="{{isShow}}">脚本</div>
   <div ng-hide="{{isHide}}">1012@qq.con</div>
   <ul ng-switch on={{switch}}>
    <li ng-switch-when="1">11111111111111111</li>
    <li ng-switch-when="2">22222222222222222</li>
    <li ng-switch-default>33333333333333333</li>
   </ul>
  </div>
  <script type="text/javascript">
   var a2_12 = angular.module('a2_12', []);
   a2_12.controller('c2_12', ['$scope', function($scope) {
    $scope.isShow=true;
    $scope.isHide=false;
    $scope.switch=2;
   }]);
  </script>
 </body>

</html>

ng-switch指令的功能是显示匹配成功的元素,该指令需要结合ng-switch-when和ng-switch-default指令使用。

当指定的on值与某个或多个添加ng-switch-when指令的元素匹配时,这些元素显示,未匹配到的元素的隐藏。

如果没有找到与on值相匹配的元素时,则显示添加了ng-switch-default指令的元素。

以上就是为大家分享的三个AngularJS实现显示和隐藏的三个案例,希望对大家的学习有所帮助。

Javascript 相关文章推荐
JS、CSS加载中的小问题探讨
Nov 26 Javascript
node.js中的http.get方法使用说明
Dec 14 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
Jan 07 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
May 26 Javascript
Ext JS动态加载JavaScript创建窗体的方法
Jun 23 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
Sep 13 Javascript
PHP 实现一种多文件上传的方法
Sep 20 Javascript
JavaScript时间日期操作实例小结【5个示例】
Dec 22 Javascript
如何用JavaScript实现功能齐全的单链表详解
Feb 11 Javascript
Angular8 简单表单验证的实现示例
Jun 03 Javascript
JavaScript实现点击图片换背景
Nov 20 Javascript
谈谈AngularJs中的隐藏和显示
Dec 09 #Javascript
jquery插件ajaxupload实现文件上传操作
Dec 09 #Javascript
js实现卡片式项目管理界面UI设计效果
Dec 08 #Javascript
javascript如何写热点图
Dec 08 #Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
Dec 08 #Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
Dec 08 #Javascript
jquery+ajax实现注册实时验证实例详解
Dec 08 #Javascript
You might like
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
php最简单的删除目录与文件实现方法
2014/11/28 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
php操作路径的经典方法(必看篇)
2016/10/04 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
JavaScript中的console.trace()函数介绍
2014/12/29 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
javascript函数命名的三种方式及区别介绍
2016/03/22 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
详解jQuery事件
2017/01/13 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
Express 配置HTML页面访问的实现
2020/11/01 Javascript
python实现简单ftp客户端的方法
2015/06/28 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
Python实现文件信息进行合并实例代码
2018/01/17 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
Python3爬虫关于识别点触点选验证码的实例讲解
2020/07/30 Python
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
本科生详细的自我评价
2013/09/19 职场文书
大学生职业生涯规划书模版
2013/12/30 职场文书
展会邀请函范文
2014/01/26 职场文书
面试后的英文感谢信
2014/02/01 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
解析laravel使用workerman用户交互、服务器交互
2021/04/28 PHP
详解Python flask的前后端交互
2022/03/31 Python
ipad隐藏软件app图标方法
2022/04/19 数码科技