簡體   English   中英

如何以編程方式旋轉使用background-size:cover與jQuery的div的背景圖像?

[英]How to rotate programmatically the background image of a div that uses background-size:cover with Jquery?

我已經嘗試過此操作,以便更改網站的背景圖片,但是很遺憾,它無法正常工作。 可悲的是,控制台並沒有給我任何提示。 所以我已經沒有想法了。 希望有人可以幫忙。 我正在嘗試做的是基於圖像數組旋轉網站背景上的圖像。 我對它為什么不起作用一無所知(也許背景的cover屬性正在擋住?)。 我已經花了很多時間來處理這個問題並更改代碼,以便它可能起作用。 首先,我沒有使用新的Image()構造函數填充數組,然后執行了此操作,因此我認為應該對其進行修復,因為否則瀏覽器可能沒有dom節點可以使用。 但是我仍然被困住。 (大多數代碼都是基於這個網站上的答案, 這里是代碼:

$(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%;}

我還嘗試將函數鏈接到用於更改內容的click事件,如下所示:

$('.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')

什么都沒發生。 所以我不太清楚。

從以下代碼行中刪除“ cover”:

$('。fondo_intro')。css({'background':'url(“'+ cargar_fondos [fondo_num ++%cargar_fondos.length] .src +'”)無重復50%100% 覆蓋 '},'slow');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM