【问题标题】:image transition with javascript使用 javascript 进行图像转换
【发布时间】:2013-05-09 06:00:14
【问题描述】:

任何人都可以为 javascript 或 jquery 建议一个轻量级的褪色图像过渡。我在想这样的事情:

document.getElementById("foo").src="images/robin.jpg";

html 如下所示:

<img id="foo" src="images/batman.png"/>

这里的问题是图像不会褪色,而是立即改变。我当然可以独立堆叠和动画两个图像,但我正在尝试替换一个图像。只是使代码更整洁。非常感谢任何建议。谢谢!

【问题讨论】:

  • 据我所知,没有 javascript 或 css 过渡的褪色技术可以以整洁的方式做到这一点。两张图片似乎是要走的路。
  • @Roonaan 我想我只能用 CSS 来做到这一点

标签: javascript image transition


【解决方案1】:

用纯 CSS3 来做怎么样?使用transition, opacityz-index 会为您带来平滑的效果

Demo

CSS

div.wrap {
    position: relative;
    display: inline-block;
}

div.wrap img {
    position: absolute;
}

div.wrap img:nth-of-type(1) {
    opacity: 0;
    transition: opacity 3s;
}

div.wrap:hover img:nth-of-type(1) {
    z-index: 2;
    opacity: 1;
}

div.wrap img:nth-of-type(2) {
    opacity: 1;
    transition: opacity 3s;
}

div.wrap:hover img:nth-of-type(2) {
    opacity: 0;
}

更新 2:最初我使用 z-index,但我认为我们也不需要它..

Demo 2(没有z-index

【讨论】:

  • 不完全是我想要的,但演示 2 真是太棒了。以后我得用那个方法了。
  • @user1497338 你可以让它更快,只要把3s改成1sjsfiddle.net/uQYks/2
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-07
  • 2016-11-14
  • 2017-09-25
  • 1970-01-01
  • 2018-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多