我们知道平常jquery实现显示和隐藏的时候,只要在监听click的时候使用.toggle(".displayno"),如果页面已经存在隐藏类displayno,那么就移除隐藏类,将div块显示出来,否则添加隐藏类,将div块隐藏。或者使用show()+hide()方法来实现。
但是,在angular插件里面,到处都是用数据绑定来实现对应的功能,那么到底是怎么实现的呢?接下来直接上源码:
<div class="box m3 no-shadow no-margin no-pad">
<span class="title" ng-click="Digest_show()">乡村简介<span ng-class="{'right' : Digest_show_hide_val, 'right arrow-down' : !Digest_show_hide_val}"></span></span>
<span class="txt paddingBottom100" ng-if="Digest_show_hide_val">
<div>
12345678987654321
</div>
</span>
</div>
首先,
通过ng-if="Digest_show_hide_val"来控制内容的显示与否,
一开始Digest_show_hide_val=true,angular就会往html里面添加<div>12345678987654321</div>。然后Digest_show_hide_val=false,angular就好移除<div>12345678987654321</div>这串字符串。
然后通过ng-click="Digest_show()"执行函数将Digest_show_hide_val的值取反。
js源码部分:
$scope.Digest_show_hide_val=true;//默认简介是展开状态
$scope.Digest_show=function(){
$scope.Digest_show_hide_val=!$scope.Digest_show_hide_val;
}
最终展示效果如下:
默认显示的情况下
点击乡村简介的滑块,内容收缩起来
演示地址:http://runjs.cn/detail/an3sgigs