jquery - 更改横幅中的背景

标签 jquery html css background

This是我正在处理的代码。

HTML

<section id="banner">
    <img src="http://3.bp.blogspot.com/-XKyf-av-Cq4/T8iF9hnSOII/AAAAAAAATUg/zeO5BrKvSes/s1600/tiaras+princesas,novias+(3).png" alt="" style="max-width:200px;height:auto" />
    <br>
    <h2>Etiam adipiscing</h2>
    <p>Magna feugiat lorem dolor egestas</p>
    <ul class="actions">
        <li><a href="#" class="button big special">Learn More</a></li>
    </ul>
</section>

CSS

#banner {
    padding: 8em 0 6em 0;
    background-color: #662800;
    color: rgba(255, 255, 255, 0.75);
    background-attachment: fixed;
    background-image: url("../images/banner.jpg");
    background-size: cover;
    text-align: center;
}

#banner input, #banner select, #banner textarea {
    color: #fff;
}

#banner a {
    color: #FF6600;
}

使 slider 的背景(图像)每 2-3 秒无需任何操作即可更改的最简单方法是什么?我做了我的研究,试图包括 this进行了一些修改,但它不起作用。我不太确定如何以正确的方式修改现有的 CSS,以及我的 HTML 最终应该是什么样子。

知道如何让它发挥作用吗?有没有更简单的方法?

最佳答案

如果你只想改变背景,没有任何交互,here's an adaptation of the other fiddle you were trying to get working.

var images = [ "http://domain.com/imageoneurl.jpg", "http://domain.com/imagetwourl.jpg"];

在上面的数组中包含您要循环浏览的所有图像,用逗号分隔,用引号引起来。

下面我们为横幅元素设置一个变量,以及以毫秒为单位的间隔时间。

var bannerBackground = document.getElementById( 'banner' );
var interval = 2500; //in milliseconds

下面是真正的魔法正在发生。我们弹出最后一张图片并将 background-image 属性设置为数组中的第一张图片,并每 2500 毫秒重复一次。您可以通过更改 var interval = 声明中的数字来调整该计时器。

setInterval( function(){
  images.unshift( images.pop() );
  bannerBackground.style.backgroundImage = "url(" + "'" + images[0] + "'" + ")";
 }, interval );

无需对您的 HTML 本身进行任何修改,但您确实需要以某种方式包含此 JavaScript。要么将其全部粘贴到一个 .js 文件中并以这种方式将其包含在文档底部,要么将其粘贴到文档本身中,如下所示:

<script type="text/javascript">
// self executing function
(function() {
   // paste all your JavaScript code here.

})();

</script>

将其粘贴在底部,就在结束 </body> 标记的上方。

关于jquery - 更改横幅中的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32672653/

相关文章:

Javascript 在元素上切换类

javascript - HTML5 视频自动播放/播放一次

jquery - CSS/JQuery : A scrolling, 覆盖 div 和居中布局 - 如何将其置于固定位置?

javascript - 使用 jQuery 遍历父树

css - 如何将 Bootstrap 导航栏中的部分 float 到右侧?

javascript - 移除带有子元素的父元素

jquery - 如何将 ASP.NET MVC 3 页面的 HTML 获取到 QUnit 测试中?

javascript - Bootstrap 分页和标签元素

html - 在后台WP7应用中流式传输HTML音频

html - 如何在 CSS 中垂直居中动态高度的单元格?