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 相关文章推荐
javascript与jquery中跳出循环的区别总结
Nov 04 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
Jun 13 Javascript
浅谈JS之tagNaem和nodeName
Sep 13 Javascript
微信小程序 登陆流程详细介绍
Jan 17 Javascript
微信小程序  http请求封装详解及实例代码
Feb 15 Javascript
Vue 仿百度搜索功能实现代码
Feb 16 Javascript
使用vux实现上拉刷新功能遇到的坑
Feb 08 Javascript
js实现动态时钟
Mar 12 Javascript
Threejs实现滴滴官网首页地球动画功能
Jul 13 Javascript
VUE使用axios调用后台API接口的方法
Aug 03 Javascript
Vue-cli4 配置 element-ui 按需引入操作
Sep 11 Javascript
利用PHP实现递归删除链表元素的方法示例
Oct 23 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
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
Joomla开启SEF的方法
2016/05/04 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
2019/10/13 PHP
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
2018/09/04 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
Python使用自带的ConfigParser模块读写ini配置文件
2016/06/26 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
基于python实现文件加密功能
2020/01/06 Python
python保留小数位的三种实现方法
2020/01/07 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
2020/07/09 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
局部内部类是否可以访问非final变量?
2013/04/20 面试题
《七颗钻石》教学反思
2014/02/28 职场文书
工程质检员岗位职责
2015/04/08 职场文书
周末问候语大全
2015/11/10 职场文书
python自动计算图像数据集的RGB均值
2021/06/18 Python
TV动画《史上最强大魔王转生为村民A》番宣CM公布
2022/04/01 日漫