Linux制作百叶窗代码,Html5百叶窗效果的示例代码

本文介绍了Html5百叶窗效果的示例代码,分享给大家,具体如下:

实现方法介绍:

1,百叶窗布局 用定位(position: absolute)覆盖在content布局之上,背景设置为透明(background-color: transparent)

2,keyframes定义淡入淡出(透明度改变)和百叶窗口效果动画。

3,启动动画是通过设置DOM的className属性的方法,animator.className = 'baiyeWindow'; 监听动画完成事件'animationend',要清除className属性。

4,在内容布局切换的事件,调用启动动画方法,两个布局都需要绑定切换事件 ng-click="switchLayout()"

5,动画执行时序图:

3e8f635ca3c13dd4a16c7db69d41da6c.png

html代码:

...

css样式代码:

//谈入谈出效果

.fade-animation{

@-webkit-keyframes fadeInOut {

0% {

opacity: 1;

}

50% {

opacity: 0;

}

100% {

opacity: 1;

}

}

@keyframes fadeInOut {

0% {

opacity: 1;

}

50% {

opacity: 0;

}

100% {

opacity: 1;

}

}

animation: fadeInOut 1s ease-in;

-webkit-animation: fadeInOut 1s ease-in;

}

//百叶窗效果

.baiyeWindow{

width: 100%;

height: 1.68rem;

position: absolute;

left: 0;

top: 1.2rem;

li{

height: 0.42rem;

line-height: 40px;

overflow: hidden;

background-color: transparent;

.ye{

-webkit-animation: slideOut 1s ease-in-out;

animation: slideOut 1s ease-in-out;

width: 100%;

background-color: rgba(0,0,0,.2);

position: relative;

top: 50%;

}

}

@-webkit-keyframes slideOut {

0% {

padding-bottom: 0;

top: 50%;

}

100% {

padding-bottom: 40px;

top: 0;

}

}

@keyframes slideOut {

0% {

padding-bottom: 0;

top: 50%;

}

100% {

padding-bottom: 40px;

top: 0;

}

}

}

JS代码:

//切换布局

$scope.switchLayout = function(){

...

$scope.startBaiYeWindow();

//启动动画0.5s后,控制布局显示/隐藏

$timeout(function () {

if ($scope.show) {

$scope.show = false;

} else {

....

}

}, 500);

}

//启动动画

$scope.startBaiYeWindow = function () {

var animator = document.getElementById('baiyeWindow');

var animatorFadeInOut = document.getElementById('fadeInOut');

animator.addEventListener('animationend', function () {

animator.className = '';

animatorFadeInOut.className = 'content';

});

$timeout(function () {

animator.className = 'baiyeWindow';

animatorFadeInOut.className = 'content fade-animation';

}, 0);

};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值