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 new后的constructor属性
Aug 05 Javascript
jquery.pagination.js 无刷新分页实现步骤分享
May 23 Javascript
详谈javascript中DOM的基本属性
Feb 26 Javascript
浅析Javascript中bind()方法的使用与实现
Apr 29 Javascript
JQuery validate插件Remote用法大全
May 15 Javascript
js入门之Function函数的使用方法【新手必看】
Nov 22 Javascript
完美实现js拖拽效果 return false用法详解
Jul 28 Javascript
vue2中使用less简易教程
Mar 27 Javascript
详解vuex状态管理模式
Nov 01 Javascript
vue下使用nginx刷新页面404的问题解决
Aug 02 Javascript
微信小程序实现分享商品海报功能
Sep 30 Javascript
JavaScript字符和ASCII实现互相转换
Jun 03 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生成带有雪花背景的验证码
2008/09/28 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
jQuery+PHP实现图片上传并提交功能
2020/07/27 PHP
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
Python入门及进阶笔记 Python 内置函数小结
2014/08/09 Python
Python入门篇之编程习惯与特点
2014/10/17 Python
Python验证码识别处理实例
2015/12/28 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
Python程序打包工具py2exe和PyInstaller详解
2019/06/28 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
Python猜数字算法题详解
2020/03/01 Python
python 中的命名空间,你真的了解吗?
2020/08/19 Python
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
乡村文明行动实施方案
2014/03/29 职场文书
旅行社计调工作总结
2015/08/12 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
Python&Matlab实现樱花的绘制
2022/04/07 Python