avalon 显示html,avalon2学习教程04显示隐藏处理

今天的主角是ms-visible,它的效果类拟于jQuery的toggle,如果它后面跟着的表达式为真值时则显示它所在的元素,为假值时则隐藏。不过显示不是 display:none这么简单,众所周知,display拥有inline, inline-block, block, list-item, table, table-cell等十来个值,比如用户之前是让此LI元素表示inline-block,实现水平菜单效果,你直接display:block就会撑破布局。因此元素之前是用什么样式显示,需要保存下来,当表达式转换为真值时再还原。

TODO supply a title

var vm = avalon.define({

$id: "test",

toggle: false,

array:[1,2,3,4]

})

table{

width:300px;

border-collapse: collapse;

border:1px solid red;

}

td {

padding:5px;

border:1px solid red;

}

.menu{

display:inline-block;

*display:inline;

*zoom:1;

width:140px;

padding:5px 20px;

text-align: center;

margin-left:1em;

border: 1px solid greenyellow;

}

.btn{

padding:5px 20px;

margin-left:1em;

display: inline-block;

}

11111111
11111111
aaabbb
cccddd
{{el}}{{el+10}}

btn

bVuEUw

这里用到ms-for循环指令及ms-click事件指令,语法与ng没有二致,不懂可以暂时忽略。

再看它能否处理内联样式的干扰:

TODO supply a title

var vm = avalon.define({

$id: "test",

toggle: true

})

div div{

flex:1;

margin: 20px;

height: 30px;

background: #a9ea00;

}

click me

bVuEWz

我们再来一个有用的例子,做一个切换卡。

TODO supply a title

var vm = avalon.define({

$id: "test",

curIndex: 0, //默认显示第一个

buttons: ['aaa', 'bbb', 'ccc'],

panels: ["

面板1
", "

面板2

", " 面板3"]

})

button{

margin:1em 3em;

}

.panel div{

height:200px;

background: #a9ea00;

}

.panel p{

height:200px;

background: green;

}

.panel strong{

display:block;

width:100%;

height:200px;

background: #999;

}

{{el}}

bVuE2K

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值