2011-04-19 2 views
0

작은 이미지 블록 (작은 이미지)이있는 페이지가 있으며 작은 이미지를 클릭하면 더 큰 버전의 이미지가 나타나게하고 싶습니다. 두 파일 모두 동일한 이름이지만 다른 폴더에 있습니다. 문제는 축소판이 for 루프를 사용하여 임의로 생성된다는 것입니다. 여기 JS : 무작위로 할당 된 img 속성에 액세스

function seeFoto(that){ 
document.getElementById("photoViewer").style.zIndex="1"; 
document.getElementById("gallery").style.zIndex="0"; 
document.getElementById("bigpic").src=.../// <<-- problem: how do I get the source of the thumbnail and then replace "bigpic" with other version of the image?? 

은 각 셀에게 임의의 이미지를 할당하는 스크립트 (작동)입니다 :

function randomThumbs(){ 
swapp(); 
var onecell="1"; 
for (onecell=1; onecell<33; onecell++){ 
var duh=Math.ceil(Math.random()*802); 
document.getElementById("img" +onecell).setAttribute("src","thumbs/"+duh+".jpg"); 
}} 

swapp() 함수는 무작위로 여기 내가 일하고 스크립트 (온 클릭)입니다 두 개의 셀을 선택하고 그림을 다른 임의의 그림으로 변경합니다. HTML 코드 :

<td><a id="link1" href="page.html" <img id="img1" src="thumbs/1.jpg" onclick="seeFoto(this)" /></a></td> 
<td><a id="link2" href="page.html" <img id="img2" src="thumbs/2.jpg" onclick="seeFoto(this)" /></a></td> 

는 내 질문에 충분히 분명하다 희망 ... 감사합니다!

내가 생각
+0

'VAR onecell = "1";'왜 문자열 .. 왜? 게다가. 두 번 초기화 할 필요가 없습니다. (var i = 0; i ThiefMaster

+0

@ThiefMaster 1 주위의 따옴표없이 작동하지 않았습니다. – Ishikawa

+0

전체 코드를 읽지 않았으므로 더 많은 문제가 있는지 전혀 모릅니다 (변경 제안은 쓸모없는 코드를 제거하는 것이 었습니다). - 그러나 나는 단지 이것을 알아 차리고 좋은/깨끗한 코드를 작성하는 것이 항상 좋은 일이므로 당신에게 이야기하고 싶다. – ThiefMaster

답변

0
document.getElementById("bigpic").src = that.src.replace('thumbs/', 'bigimages/'); 

... :-)

+0

좋은 생각! 그러나 그것은 오류를 throw합니다 : "그"는 정의되지 않았습니다 – Ishikawa

+0

btw. ">"를 a 요소에 추가하십시오 – kempsam

+0

이제 작동합니다; 정말 고맙습니다 :) – Ishikawa

관련 문제