如何以编程方式旋转使用background-size的div的背景图像:用Jquery覆盖?

时间:2013-08-09 02:18:21

标签: jquery css3 background

我试过这个是为了改变一个网站的背景图片但不幸的是它没有用。可悲的是,控制台没有给我任何关于什么是错的线索。所以我已经没想完了。希望有人可以提供帮助。我要做的是根据一系列图像旋转网站背景上的图像。我不知道为什么它不起作用(也许背景的封面属性正在阻碍?)。我已经花了几个小时研究这个并改变代码,以便它可以工作。首先我没有使用新的Image()构造函数填充数组,然后我认为应该修复它,因为否则浏览器可能没有dom节点可以使用。但我仍然被卡住了。 (大多数代码都是基于这个网站的答案,here 这是代码:

$(document).ready(function() {
fondos = new Array('/Foto_Pimend/activos/flickr_foto_fondo_1.jpg',     '/Foto_Pimend/activos/flickr_foto_fondo_2.jpg',     '/Foto_Pimend/activos/flickr_foto_fondo_3.jpg');
cargar_fondos=new Array();
fondo_num = 1;
var i;
for(i=0; i<fondos.length; i++) {
cargar_fondos[i]=new Image();
cargar_fondos[i].src=fondos[i]; 
}
function rotarFondos() {
$('.fondo_intro').css({'background':'url("'+cargar_fondos[fondo_num++     %cargar_fondos.length].src+'") no-repeat 50% 100% cover'},'slow');
}
intId=setTimeout(rotarFondos, 10000);
});

我试图以编程方式更改的div具有以下样式:

.fondo_intro {background: url(/Foto_Pimend/activos/flickr_foto_fondo_1.jpg) no-repeat;     width:100%; background-size:cover; background-position:50% 100%;position:fixed;     height:100%;}

我还尝试将该功能链接到我用来更改内容的点击事件,如下所示:

$('.link_manejador').click(function() {
var content = $(this).attr('name')+'_template';
llamada_contenido(content); rotarFondos();  
});

这样而不是旋转的背景我会根据内容改变背景。 但它也不起作用,更令人沮丧的是,控制台没有显示任何错误或暗示发生了什么。我可以看到正在创建的图像和计数器(即fondo_num)递增,但没有任何反应。更重要的是:当我在控制台上发布时:

$('.fondo_intro').css({'background-  image':'url(/Foto_Pimend/activos/flickr_foto_fondo_2.jpg'},'slow')

什么都没发生。所以我不清楚地理解某些东西。

1 个答案:

答案 0 :(得分:1)

从这行代码中删除“封面”:

$('。fondo_intro')。css({'background':'url(“'+ cargar_fondos [fondo_num ++% cargar_fondos.length] .src +'”)no-repeat 50%100%封面 '},' 慢');