javascript - 是否可以循环更改 HTML5 或 css 中的不透明度值?

标签 javascript css html

这是我目前正在使用的代码。它适用于我将两个图像分层的目的。我想要做的是将 layer0 不透明度降低到 0,因为 layer1 不透明度在几秒钟内增加到 100。 {然后到 layer1 和 layer2 等等,最终循环回到 layer0}

如有任何帮助,我们将不胜感激。

<head>
  <style>
    div.layer0
    {
      width: 371px;
      height: 345px;
      background:url(image2.jpg);
      opacity:1;
      filter:alpha(opacity=100); /* For IE8 and earlier */
    }

    div.layer1
    {
      width: 371px;
      height: 345px;
      background:url(image3.jpg);
      opacity:0;
      filter:alpha(opacity=0); /* For IE8 and earlier */
    }

  </style>
</head>

<body>
  <div class="layer0">
    <div class="layer1">
    </div>
  </div>
</body>

最佳答案

要在循环中持续执行此操作,您需要一些 javascript 来将适当的 active 类添加到您要显示的图像。然后使用 CSS 过渡,您可以实现所需图像之间的淡入淡出。

我创建了一个 jsfiddle 来给你一个这个工作的例子:http://jsfiddle.net/pacso/H6dqq/

基本情况如下。

一些您将淡出的简单 HTML div:

<div class='red square active'></div>
<div class='yellow square'></div>
<div class='green square'></div>
<div class='blue square'></div>

这些只是彩色方 block ,但您的可以包含图像。

接下来,一些 CSS 标记:

.red {
    background-color: red;
}
.blue {
    background-color: blue;
}
.green {
    background-color: green;
}
.yellow {
    background-color: yellow;
}

.square {
    width: 200px;
    height: 200px;
    position: absolute;
    top: 20px;
    left: 20px;

    opacity: 0;
    transition: opacity 2s;
    -webkit-transition: opacity 2s; /* Safari */
}
.active {
    opacity: 1;
}

请注意,我的转换会改变 div 本身的不透明度。您可能需要根据需要更改它。

现在 javascript 让它在无限循环中工作:

jQuery(function() {
    window.setInterval(function () {
        activeSquare = $('.active');
        nextSquare = activeSquare.next()
        if (nextSquare.length == 0) {
          nextSquare = activeSquare.siblings().first();
        }
        nextSquare.addClass('active');
        activeSquare.removeClass('active');
    }, 3000);
});

相当简单。点击link to my fiddle如果您想查看工作演示,请点击运行按钮。

关于javascript - 是否可以循环更改 HTML5 或 css 中的不透明度值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20922833/

相关文章:

javascript - 在按键三.js 上更改对象 Material 的问题

javascript - 如何在没有任何请求的情况下获取 Node js/express js 上的主机名

jquery - 如何划分所有边距但最后使空间均匀?

css - Asp.net gridview 覆盖 Bootstrap 表样式

javascript - 为什么 chrome textareas 在溢出时将自己的大小增加两列以适应可能的滚动条 :hidden and resize:none?

javascript - Bootstrap-select Angular Directive(指令)不起作用

javascript - 如何在动态创建的 <an></a> 标签上添加事件监听器 click()

javascript - Jquery toggleClass 切换的类,但不会多次运行动画

html - 表 tr 在悬停时制作框阴影(背景冲突)

javascript - 咏叹调完成状态?