作爲一個快速的解釋,我創建了重新調整使用此功能偉大的工程,填補了背景的圖像:使用Javascript - 圖像變化的大小調整,以全面的背景
function resize_bg(element_id){
$("#"+element_id).css("left","0");
var doc_width = $(window).width();
var doc_height = $(window).height();
var image_width = $("#"+element_id).width();
var image_height = $("#"+element_id).height();
var image_ratio = image_width/image_height;
var new_width = doc_width;
var new_height = Math.round(new_width/image_ratio);
if(new_height<doc_height){
new_height = doc_height;
new_width = Math.round(new_height*image_ratio);
var width_offset = Math.round((new_width-doc_width)/2);
$("#"+element_id).css("left","-"+width_offset+"px");
}
$("#"+element_id).width(new_width);
$("#"+element_id).height(new_height);
return true;
}
所以對於全背景圖像沒有問題。當我使用Javascript更改圖像源時,問題就出現了。換句話說,我將1個圖像設置爲背景,但將某些元素懸停在頁面上時,圖像會更改,但不會更改右側的調整大小。因此,加載的第一個圖像被調整大小並正確定位,但是當我使用.attr('src',newimg)切換圖像時,即使再次調用該函數,圖像也沒有正確調整大小。
下面是我用它來改變形象,並調整它的代碼:
$('#menu_work li a').hover(function(){
$('#content').hide();
var img_src = $(this).next('img').attr('src');
$('#full_screen_img').attr('src', img_src);
resize_bg();
$('#full_screen_img').show();
},function(){
$('#full_screen_img').hide();
$('#content').show();
});
感謝您的幫助。
你可以在代碼中調用'resize_bg'函數嗎?加載和元素懸停。 – satoshi 2012-02-18 17:45:25
@micha - 是的,請查看問題中添加的代碼。 – denislexic 2012-02-18 17:50:21
您是否確認過'img_src'的值是您期望的值? – satoshi 2012-02-18 17:53:31