【发布时间】:2016-03-03 17:42:18
【问题描述】:
我正在尝试查看页面上的 CSS 中的正文样式背景是否在 URL 中没有任何内容,然后淡入和淡出一组图像。
这是我的代码,但它似乎没有做任何事情或抛出任何错误
<style>
html {
}
body
{
background-color: transparent;
background: url([%MEDIA_URL%]) no-repeat center center fixed;
background-size: cover;
}
@media (max-width: 1024px) {
html {
background: url([%MEDIA_URL%]) no-repeat center center fixed;
background-size: cover;
height: 100%;
overflow: hidden;
}
body
{
background-color: transparent;
background: none;
height:100%;
overflow: scroll;
-webkit-overflow-scrolling: touch;
}
}
</style>
<script>
$(document).ready(function () {
if ($('body').css("background") === 'url()') {
(function($) {
var bgImageArray = ['exterior.jpg', 'chairs.jpg', 'entrance-logo.jpg'],
base = "http://stage.houstonian.com/resources/1/BG_Images/",
secs = 6;
bgImageArray.forEach(function(img){
new Image().src = base + img;
// caches images, avoiding white flash between background replacements
});
function backgroundSequence() {
console.log('url(' + base + bgImageArray[0] +')');
window.clearTimeout();
var k = 0;
for (i = 0; i < bgImageArray.length; i++) {
setTimeout(function(){
$('body').css({
'background': "url(" + base + bgImageArray[k] + ")"
});
if ((k + 1) === bgImageArray.length) { setTimeout(function() { backgroundSequence() }, (secs * 1000))} else { k++; }
}, (secs * 1000) * i)
}
}
backgroundSequence();
}(jQuery));
}
});
</script>
任何帮助将不胜感激。我从这个工作小提琴中获得的背景图像数组。 https://jsfiddle.net/sm1215/r5or5w6m/3/
让它随机也很好:)
【问题讨论】:
-
此外,[%MEDIA_URL%] 是 CMS 使用的标签,如果没有为页面上传图片,则不会显示。
-
你知道你可以很容易地test things like this自己,并且看到它可能永远不会返回字符串
url()? -
测试是否
$('body').css("background-image") == 'none' -
为什么不返回url字符串?是否有可能做到这一点?小提琴适用于 css 背景。
-
但是在小提琴中,你看到控制台中的字符串
'url()'了吗?即使只是设置那个 CSS 属性也不会返回那个字符串......永远 -> jsfiddle.net/u7qp883m/1
标签: jquery css background