繁体   English   中英

为背景变化添加淡入/淡出

[英]Add fade-in/fade-out to background change

我是 javascript 的新手,但我终于可以让它工作了。 我可以改变背景颜色。 但它很难切换,我想知道,如果我将 backgroundColor 从一个按钮更改为另一个按钮,是否可以添加淡入/淡出效果。

var btn1 = document.getElementById("tab1");
var btn2 = document.getElementById("tab2");

btn1.addEventListener('click', function (event) {
    changeColor('blue');
});
btn2.addEventListener('click', function (event) {
    changeColor('green');
});

function changeColor(color){
  var elem = document.getElementById( "area" );
  elem.style.backgroundColor =color;

我也在考虑将 colors 更改为图像。

您可以像这样通过 CSS 设置到元素的过渡:

button {
    -webkit-transition: background-color 1000ms linear;
    -ms-transition: background-color 1000ms linear;
    transition: background-color 1000ms linear;
}

我建议查看此文档

您可以使用transition为样式更改设置动画,然后使用classList.addclassList.remove添加/删除包含新颜色的类。

 var btn1 = document.getElementById("tab1"); var btn2 = document.getElementById("tab2"); btn1.addEventListener('click', function(event) { changeColor('blue'); }); btn2.addEventListener('click', function(event) { changeColor('green'); }); function changeColor(color) { var elem = document.getElementById("area"); elem.classList.remove('blue', 'green') elem.classList.add(color); }
 #area { padding: 50px; margin-bottom: 15px; transition: background-color 1s; }.green { background-color: green; }.blue { background-color: blue; }
 <div id='area'></div> <button id='tab1'>button 1 </button> <button id='tab2'>button 2 </button>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM