Chrome이 새로운 버전으로 업데이트되고 일부 jQuery 코드가 더 이상 작동하지 않는다는 것을 알아 챘습니다 ... (jQuery 버전 1.7 -크롬 두통에서 max-height와 max-width가있는 jQuery 위치 지정 이미지
이것은 슬라이드 쇼에서 이미지 위치 지정 (가운데 정렬) 및 이전/다음 버튼 배치를위한 기본 코드입니다. FF로 작동합니다 (IE에 대해 잘 모름 - 가능한 한 작게 보입니다). 이제 높이에서 이미지 높이를 뺀 값을 계산하는 대신 크롬에서 상자 높이를 두로 나누는 것입니다. 그래서, 이미지가 4x 높이 인 상자의 경우 2x 높이 FF로 나에게 정확한 "상단 : 1x"를 제공하는 반면 Chrome은 "상단 : 2x"를 제공합니다.
이상하게 그것은 ... 정확하게 # 다음과 #prev 배치 된 div
h = j$('.slide').height();
w = j$('.slide').width();
nph = j$('#next').height();
j$('.slide').each(function(){
thisImg= j$(this).find('img');
var imgH = thisImg.height();
var imgW = thisImg.width();
thisImg.css({'position':'absolute',
'top':(h-imgH)/2,
'left':(w-imgW)/2
});
}) ;
j$('#next, #prev').css('top',(h-nph)/2);
};
올바르게 작동하지 않거나 Chrome에서 변경된 사항 (업데이트 이후 다른 사이트에서 전체 애니메이션을 잃어 버렸습니다). 내가 잘못하지 않았다면 Chrome에는 어떤 해킹이 있습니까?
EDIT 추가 연구를 통해 내가 유연한 (백분율 기반) 환경에서 이미지를 사용하려고하기 때문에 이것이 내가 생각하게 만듭니다. 이 이미지를 의미 사업부 따라서 스타일된다 : 파이어 폭스가 계산을 할 수 있다는 것
div {height:100%;width:100%;}
img {max-height:100%;max-width:100%}
하지만 크롬은 할 수 없습니다. "다음"및 "이전"div에는 크기 (및 위치가 올바르게 알려짐)가 있습니다. 이미지가로드 될 때이를 "잡아"최대 높이 및 최대 너비가 적용되기 전에 치수가 무엇인지 알아내는 방법이 있습니까?
최신 업데이트 "max-height"또는 "max-width"의 스타일 인 경우 Chrome에서 페이지의 이미지 높이 값을 반환 할 수 없음을 확인했습니다. "outerHeight/Width"메서드도 작동하지 않습니다.
이미지가로드되기 전에 실행되는 것처럼 들리므로 'width'및 'height'정보를 사용할 수 없습니다. ''태그에 명시 적으로 설정할 수 있습니까? – ahren
'$ (window) .load()'다음에이 코드를 실행하고 있습니까? innerHeight(), outerHeight() 등을 시도 했습니까? –
"Chrome headache"- 최신 출시 프로젝트 이름입니까? :) –