2011-04-27 2 views
0

나는 확장자와 관계없이 이미지를 미리로드하고 : hover 의사 클래스와 유사한 방식으로 작동하는 코드가 있습니다. 내 질문에 어떻게 소스의 파일 이름의 일부를 포함하도록 확장 할 수 있습니다. 내 말은 스크립트가 현재 기존 파일 이름에 _over를 추가하고이 이미지를 미리로드하는 확장 파일을 남겨 둡니다. 내가 원하는 것은/index_files/filename_imagename_over를 추가하는 것이다. 여기서 imagename은 이미지의 src이다. 그래서 이미 _over를 추가하기를 원합니다./index_files /는 정적이고/filename은 파일 이름에 따라 변경됩니다. 난 내 자바 스크립트에서 PHP 스크립트를 포함 할 경우jquery 스크립트에 현재 문서 이름을 포함하도록 확장하기

$(function() { $('#nav li a img').each(function() { 
var originalSrc = this.src, 
    hoverSrc = originalSrc.replace(/\.(gif|png|jpe?g)$/, '_over.$1'); 
    image = new Image(); 

image.src = hoverSrc; 

$(this).hover(function() { 
    image.onload = function() { 
} 
    this.src = hoverSrc; 
}, function() { 
    this.src = originalSrc; 
}); 
}); 
}) 

나는 또한 궁금, 나는 그것이 .PHP 파일이 아니기 때문에 서버가 늘 PHP를 처리하기 때문에 내가 캔트 추정. 이것은 예제입니다. 그렇다면 스크립트에서 이것을 사용할 수 있습니다. 스크립트를 서버 수준에서 포함하고 PHP 코드를 처리 할 수 ​​있도록 자바 스크립트에 PHP include()를 사용하는 것이 가능할 것이라고 가정합니다.

+0

이전 답변을 기반으로 모든 것을 수행 할 수 있어야합니다. 아, 그리고 코드 포맷 버튼을 알아 내는데 축하해. :) – alex

+0

@alex Hehe, 그냥 모든 줄을 알아 냈다. 스크립트의 선택 부분에 PHP를 삽입해야하기 때문에 직접 질문에 대답 할 수 있습니까? – Jason

+0

@alex 절대로 문서에 설정할 필요가 없다는 것을 알았습니다. 내 PHP 문서에서 documentname_imagename을 설정하면 자바 스크립트가받을 때 PHP가 서버 측에서 계산되기 때문에 올바른 것입니다. – Jason

답변

1

또 다른 쉬운 해결책은 이미지를 배경 (CSS)으로 사용하고 후버 효과로 배경 위치를 변경하는 것입니다. http://www.dynamicsitesolutions.com/css/background-image-switching/

+0

이 스크립트를 본 적이 있지만 이미 멋진 스크립트를 가지고있어 더 효율적이지 않을 때 스크립트를 실제로 다시 코딩하지 않으려 고합니다. – Jason

+0

나는 내 자신의 질문에 대답했기 때문에이 대답은 여전히 ​​유용하다. – Jason

관련 문제