创建 CSS 转换
Creating a CSS Transition
我正在使用下面的 javascript 在单击按钮时显示隐藏的 div:
<script>
function myFunction() {
var x = document.getElementById("mydiv");
if (x.style.display === "none") {
x.style.display = "none";
} else {
x.style.display = "block";
}
}
</script>
如何在单击按钮时让 div 淡出或 "fly" 亮起?我以为我可以使用 webkit 转换,但似乎无法使其工作。
显示 属性 不是动画 css 属性。
您需要使用以下列表中的 属性 来为 css 中的任何内容设置动画:
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties
您可以使用 .style.setProperty()
方法从 javascript
添加 webkit transitions
或任何其他 CSS
,如下所示:
var myDiv = document.getElementById('mydiv');
// example fade effect compatible with most browsers
myDiv.style.setProperty("transition", "opacity .2s ease-in-out");
myDiv.style.setProperty("-moz-transition", "opacity .2s ease-in-out");
myDiv.style.setProperty("-webkit-transition", "opacity .2s ease-in-out");
关于 .style.setProperty()
的更多信息:https://developer.mozilla.org/setProperty。
编辑: @RokoC.Buljan 指出了一个可能更好的解决方案,只需使用 .style['-vendor-prop'] = 'val'
语法,如下所示:
myDiv.style['-moz-transition'] = 'opacity .25s ease-in-out';
我正在使用下面的 javascript 在单击按钮时显示隐藏的 div:
<script>
function myFunction() {
var x = document.getElementById("mydiv");
if (x.style.display === "none") {
x.style.display = "none";
} else {
x.style.display = "block";
}
}
</script>
如何在单击按钮时让 div 淡出或 "fly" 亮起?我以为我可以使用 webkit 转换,但似乎无法使其工作。
显示 属性 不是动画 css 属性。
您需要使用以下列表中的 属性 来为 css 中的任何内容设置动画:
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties
您可以使用 .style.setProperty()
方法从 javascript
添加 webkit transitions
或任何其他 CSS
,如下所示:
var myDiv = document.getElementById('mydiv');
// example fade effect compatible with most browsers
myDiv.style.setProperty("transition", "opacity .2s ease-in-out");
myDiv.style.setProperty("-moz-transition", "opacity .2s ease-in-out");
myDiv.style.setProperty("-webkit-transition", "opacity .2s ease-in-out");
关于 .style.setProperty()
的更多信息:https://developer.mozilla.org/setProperty。
编辑: @RokoC.Buljan 指出了一个可能更好的解决方案,只需使用 .style['-vendor-prop'] = 'val'
语法,如下所示:
myDiv.style['-moz-transition'] = 'opacity .25s ease-in-out';