페이지의 모든 이미지를 반복하여 "Retina ready"버전으로 대체하는 스크립트 작업을하고 있습니다. 루프는 계속 그러나 이후, 나는 첫 번째 이미지는 대체했다 테스트 환경을 설정하고 다른 사람들이하지 않았다jQuery 망막 이미지 교체 루프
retinaText = "@2x";
$("img").each(function(){
filename = $(this).attr("src");
ext = "."+filename.substr((Math.max(0, filename.lastIndexOf(".")) || Infinity) + 1);
filesource = filename.split(ext)[0];
retinaImage = filesource + retinaText + ext;
//check if images exists
$.ajax({
url:retinaImage,
type:'POST',
error: function(){ },
success: function(){
//file exists
//replace image with retina ready image
//$(this).attr("src",retinaImage);
}
});
});
: 문제는 루프가 각 이미지를 통과 할 때,이 변수를 변경한다는 것입니다 이미지를 통해 실행하면 변수가 변경됩니다.
이미지가 다음과 같이 설정된 경우 :
<img src="image1.jpg" />
<img src="image2.jpg" />
<img src="image3.jpg" />
<img src="image4.jpg" />
을 그리고이 이미지는 같은 디렉토리에 존재합니다
<img src="[email protected]" />
스크립트는 "이 image4의 @ 배"로이 image4을 대체하려고 끝 왜냐하면 retinaImage 변수와 $ (이)가 변경 되었기 때문입니다.
도움을 주시면 감사하겠습니다.
완벽! 고맙습니다! – user433351