필요한 모든 이미지를 수동으로 미리로드하는 스크립트가 있습니다. 다음과 같이 보입니다.또 다른 이미지 사전로드 문제
<script type="text/javascript">
(new Image()).src = "/images/buttonpinkpressed.png";
(new Image()).src = "/images/smallbuttonpinkpressed.png";
</script>
실제로 모든 버튼 유형 및 기타 요소에 대해 이러한 항목이 많이 있습니다. 최악의 상황은 프로젝트가 진행 중이고 새 버튼이 매일 추가되므로 잊어 버리기 쉽습니다.
이제 사용중인 모든 것을 미리로드하는 하나의 범용 스크립트를 사용하고 싶습니다.
문서의 모든 요소를 jQuery와 같은 선택기 (예 : $ ('buttons')라고 함)로 열거하고 나면 가장 힘든 부분입니다. 요소의 클래스 및 '활성'클래스의 결과 (혼동하지 말아야합니다 : 활성 가상 클래스, 차이는 없어야 함).
예를 들어, 버튼이 있습니다 :
<button type="button" class="small pink"><p>Menu</p></button>
그리고 다음과 같은 CSS가 :
button.pink.large
{
background-image: url('buttonpinknormal.png');
}
button.pink.large.active
{
background-image: url('buttonpinkpressed.png');
}
button.pink.small
{
background-image: url('buttonpinksmallnormal.png');
}
button.pink.small.active
{
background-image: url('buttonpinksmallpressed.png');
}
이 버튼에 대한 사전로드 된 이미지가 작은 '이후, 마지막이어야한다, 분명히 '및'분홍색 '이 명시 적으로 정의되어 있고'활성 '은 우리가 찾고있는 것입니다 :
button.pink.small.active
{
background-image: url('buttonpinksmallpressed.png');
}
그래서 qu estion은 스타일을 필터링하는 방법입니다.
감사합니다,
당신이 볼 수 있듯이
UPDATE, 처음에 버튼이없는 '활성'스타일이 없습니다. 터치 이벤트에 스크립트가 추가되었습니다 (Android Webkit은 실제 : 활성을 지원하지 않기 때문에). 그래서 이미지는 다른 스크립트에서 미리로드되어야합니다. 그리고 예, 클릭 할 때 활성 상태 이미지가 런타임에로드되는 것을 보았으므로 멋지게 보입니다.
var new_array = $ ("html") .html(). 일치 (/ url \ ((+) \)/g)' –
나는 혼란스러워. 당신은 당신의 페이지 CSS에서 모든 심상 URL를 움켜 잡고 그 페이지에서 javascript를 사용하여 그 (것)들을 미리 설치하는 것을 시도하고 있는가? 무슨 목적을 위해? 사용중인 CSS 스타일은 JS가 실행되기 전에로드되거나 잠시 후에로드됩니다 (페이지의 CSS/스크립트의 상대적 위치에 따라 다름). – jfriend00
스프라이트 및 배경 위치를 사용하지 않는 이유는 무엇입니까? - http://www.noobcube.com/tutorials/html-css/css-background-image-sprites-a-beginners-guide-/? –