javascript - 如何在 webOS 上创建不透明效果?

标签 javascript html css webos

我的页面中有一个 html 视频元素:

<video id="myVideo" src = "./play.mp4" autoplay loop></video>

我正在通过这样的操作让它消失:

var vid = document.getElementById("myVideo");
vid.style.visibility = "hidden";

我可以用

让它再次出现
vid.style.visibility = "visible";

但我希望视频能够顺利播放,如何通过 javascript 执行此操作?

我试过了:

vid.style.transition   = "visibility 2s";
vid.style.visibility = "visible";

但是没有用。谁能指出我的错误? (webOS 平台不支持 jquery 和 opacity css 属性)

I cannot use opacity :( --> Developer documentation : The opacity property is unapplicable on video elements.

最佳答案

您可以将 css transition 和 rgba 格式与一些 javascript 结合使用来添加不透明动画,而无需 css opacity 属性。

var hide = document.getElementById('tryh'),
    show = document.getElementById('trys'),
    foo  = document.getElementById('foo');

show.addEventListener('click', function () {
  foo.className = 'foo show';
});

hide.addEventListener('click', function () {
  foo.className = 'foo hide';
});
.foo {
  position: relative;
  background: rgba(0,0,0,0);
  transition: background-color 1s;
}

.hide {
  background-color: rgba(255,255,255,1);
}

.show {
  background-color: rgba(0,0,0,0);
}

.foo:before {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background-color: inherit;
  content: ' ';
}
<div id='foo' class='foo'>
  <video id="video" src="./play.mp4" controls autoplay loop ></video>
</div>

<button id='trys'>Show</button>
<button id='tryh'>Hide</button>

关于javascript - 如何在 webOS 上创建不透明效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34633594/

相关文章:

javascript - findOneAndUpdate() 基于查找查询条件的子数组

javascript - 无法将元素附加到 FormData

javascript - CasperJS - 文档/jquery 完全加载后获取生成的源

html - 如何通过css实现如下图形

Jquery - 提交功能中的表单数据

Javascript 使用鼠标坐标旋转图像

javascript - 如何让这个导航从右向左打开?

javascript - 我想将网页从顶部导航按钮滚动到同一网页的多个选项卡

html - 应用于 body 时线性渐变不起作用

html - Safari 呈现不同的填充