以角度方式在最小高度属性上动画化
Animate on min-height property in Angular way
html
<body ng-controller="SearchController as searchCtrl">
<div>
<button data-cover="{{searchCtrl.cover.open}}">opener</button>
</div>
<div class="slider">
<h1>Hello Plunker!</h1>
<button data-cover="{{searchCtrl.cover.open}}">closer</button>
</div>
</body>
.css
.slider {
position:fixed;
bottom: 0;
width: 100%;
overflow-y: hidden;
background: white;
max-height: 0;
}
.slider.open {
min-height: 100%;
}
JavaScript
var app = angular.module('plunker', []);
app.controller('SearchController', function() {
var searchCtrl = this;
searchCtrl.cover= {};
searchCtrl.cover.open = false; //initially cover is closed
});
app.directive('cover', cover);
function cover(){
var directive = {
scope: '=',
link : function(scope, ele, attrs){
var slider = angular.element(document.querySelector('.slider'));
ele.bind('click', function(){
if(scope.searchCtrl.cover.open == true){
scope.searchCtrl.cover.open=false;
slider.removeClass("open");
} else{
scope.searchCtrl.cover.open = true;
slider.addClass("open");
}
});
}
}
return directive;
}
我写了一个指令,从下到上打开和关闭一个应该占据整个高度的盖子。我能够做到这一点。现在我想添加动画(封面应该从底部慢慢打开)。对于封面,初始最大高度为"零",后来当我单击"打开"按钮时,我将最小高度设置为"100%"。CSS3 过渡不适用于最小高度属性(仅适用于最大高度)。我没有使用 jquery,所以我不能在指令中使用 jquery animate 函数。我怎样才能以角度的方式做到这一点
在角度更新样式中,您可以像这样使用滑块变量:
slider = document.querySelector('.slider');
slider.style.transition = 'all .3s ease';
slider.style.height = window.innerHeight + 'px';
或翻译到底部
slider = document.querySelector('.slider');
slider.style.transition = 'all .3s ease';
slider.style.transform = 'translate3d(0,100px,0)';
通过多次调整,您可以做到!
PS:您可以对行高属性进行动画处理:)
相关文章:
- 分析高度属性时出现意外值{{specs.height}}.index.html
- 取消img的css属性宽度和高度(不能使用“auto”)
- 使用纯Javascript设置最小高度属性
- Jqx图表给出错误错误:
属性高度=“-1”的负值无效 - 如何将最大高度css属性指定为屏幕大小
- 高度属性导致脚本停止
- Html 画布:宽度/高度属性和宽度/高度样式之间的差异
- 创建一个画布元素并使用 jQuery 设置其宽度和高度属性
- asp.net 高度属性的元素样式问题
- 以角度方式在最小高度属性上动画化
- CSS 过渡:在“高度”样式属性的内联样式之间设置动画
- Internet Explorer 会自动将高度和宽度属性添加到新追加的图像中
- 需要从 ifram 获取高度属性值并设置父元素以包含它
- jQuery获取IMG大小并根据宽度/高度比例更改其CSS属性
- 无法设置属性'高度'的未定义
- 使用属性maxlength/size更改ember-js中的文本字段高度
- Firefox:使用相同的属性(位置、宽度/高度)反复打开弹出窗口
- 动画高度属性::HTML+CSS+JavaScript
- 浏览器支持getBoundingClientRect的宽度和高度属性
- CSS/Javascript解决方案,可根据图像方向自动应用高度/宽度属性