2012-11-23 68 views
1

我需要在打开页面时调整图像大小。在ajax导航之前,我使用函数jQuery(window)来说当我进入新页面时我想要调整函数的大小。但现在用ajax导航只需加载我的页面的一部分,所以jQuery(window)什么都不返回。jQuery(窗口)Ajax导航

// start page KO PART 
jQuery(window).load(function(){ 
    redimensionnement(); 
}); 
// KO PART END 

// resize window OK -- 
jQuery(window).resize(function(){ 
    redimensionnement(); 
}); 

你有什么想法解决我的问题吗?

非常感谢!

+2

你能不就叫'redimensionnement(;'在ajax回调? – Archer

+0

ajax导航是什么意思?你使用从父窗口或其他东西控制的'iframe'吗? –

回答

0

我找到了解决方案!

因此,要调整图片的大小,当我们在我的形象页面中输入,我测试,如果是负载在我的AJAX循环是这样的:)

//ajax loop for full ajax navigation 
    $.ajax({ 
    url: link, 
    dataType:'html', 
    success: function(data){ 

     //update of my contain 
     var contenu = $(data).find("#contenu"); 
     $('#contenu').html(contenu).fadeIn('200'); 


     //TEST OF LOAD IMAGE, if yes, start my resize fonction 
     $("#map-carte-1").load(function(){ 
     redimensionnement(); 
    }); 

}); 
1

完成Ajax请求后,加载图像,并在加载图像时比调整图像大小。这里是示例代码,它可能会帮助您如何跟踪加载的图像。

// create an image object 
objImage = new Image(); 

// set what happens once the image has loaded 
objImage.onLoad=imagesLoaded(objImage); 

// preload the image file 
objImage.src='images/image1n.gif'; 

// function invoked on image loaded 
function imagesLoaded(obj) 
{  
    var w = obj.width(); 
    var h = obj.height(); 
} 
+0

非常感谢这是一个好主意,但是我的图像很重,所以我会在访客进入我的图像页面时向我收取费用。 –

1

我认为你需要绑定它内部onload;

// start page KO PART 
jQuery(window).load(function(){ 
    redimensionnement(); 
    // resize window OK -- 
     jQuery(window).resize(function(){ 
    redimensionnement(); 
    }); 
}); 
// KO PART END 
+0

对不起,我的英语很差,所以我不确定我是否清楚地解释了我的问题。 –