>  기사  >  웹 프론트엔드  >  비례 스케일링을 위한 jQuery 이미지 사전 로드 구현 코드_jquery

비례 스케일링을 위한 jQuery 이미지 사전 로드 구현 코드_jquery

WBOY
WBOY원래의
2016-05-16 18:01:201403검색
코드 복사 코드는 다음과 같습니다.

/*
* 이미지 미리 로드 및 자동 확대
* scale 자동으로 같은 비율로 크기를 조정할지 여부
* width 이미지의 최대 높이
* height 이미지의 최대 너비
* loadpic 로드되는 이미지의 경로
* 예시 $("*").LoadImage(true,w, h);
*/
jQuery.fn.LoadImage=function(scaling,width,height,loadpic){
if(loadpic==null )loadpic="../images/loading.gif" ;
return this.each(function(){
var t=$(this);
var src=$(this).attr( "src")
var img=new Image( );
//alert("Loading...")
img.src=src
//사진 크기 조정
var autoScaling=function(){
if(scaling) {
if(img.width>0 && img.height>0){
if(img.width/img.height>=너비/높이 ){
if(img.width>width){
t.width(width);
t.height((img.height*width)/img.width)
t.css ("margin-top", (height-t.height( ))/2);
}else{
t.width(img.width)
t.height(img.height);
t.css("margin-top", ( height-t.height())/2)
}
}
else{
if(img.height>height) {
t.height(높이);
t.width((img.width*height)/img.height)
t.css("margin-top", (height-t.height) ())/2);
}else{
t.width(img.width);
t.height(img.height)
t.css("margin-top", (height-t.height())/2);
}
}
}
}
}
//ff를 처리할 때 캐시된 이미지를 자동으로 읽습니다
if(img.complete){
//alert( "getToCache!");
autoScaling()
return;
}
$(this).attr("src" ,"");
var loading=$("< ;img alt="로드 중..." title="사진 로드 중..." src="" loadpic "" />"); t.hide();
t.after( loading);
$(img).load(function(){
autoScaling();
loading.remove();
t .attr("src",this.src);
t.show();
//alert("마지막으로!")
})
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.