2014-02-25 2 views
0
function displayImage(whichImage) { 
    if (whichImage !== "noImage") { 
     document.canvas.src = whichImage; 
    } else { 
     document.canvas.src = "image2.jpg"; 
    } 
} 

이 코드를 사용하고 있지만 데이터베이스에서 가져온 모든 이미지에 고유 ID가 있어야합니다. 그래서 자바 스크립트에 어떤 코드가 있습니까?자바 스크립트에서 이미지 ID를 생성하는 방법은 무엇입니까?

+0

이 이미지는 데이터베이스에서 가져옵니다. 이미지 수에는 제한이 없습니다. – nlm

+0

증가 카운터가 트릭을 수행 할 수 있습니다. (내부적으로 간단한 indexOf로지도를 처리). – GameAlchemist

+0

Off-topic : 코드를'document.canvas.src = whichImage! == "noImage"로 단순화 할 수 있습니까? whichImage : "image2.jpg"' – Oriol

답변

1

클라이언트 측에서 고유 ID를 원한다고 가정하고 프론트/백엔드 간의 일관성 메커니즘으로 사용하지 않을 것입니다. 마찬가지로, 페이지가로드 될 때마다 이러한 ID는 동일해야합니다. 내 추가는 클라이언트 측 독창성을위한 것입니다. 당신이 절대적으로 (좋은) 고유 ID를 갖고 싶어, 당신에게 독특한 무언가를 포기하지 않을 docimages의 기회를하지 않으려면

function displayImage(whichImage) { 
    if (whichImage !== "noImage") { 
     document.canvas.src = whichImage; 
    } else { 
     // you can increment via document.images or just randomize a numb. 
     var docimages = document.images.length || Math.floor(Math.random()*999999); 
     document.canvas.src = "image2.jpg"; 
     document.canvas.id = 'image' + docimages; 
    } 
} 

. 해시를 생성하고, id를 생성했는지 아닌지 확인하기 위해 테스트하는 콜백 함수 - 무작위 화하고 추가합니다. 그럴 경우 다시 랜덤 화하고 다시 확인하십시오. 또는 ID를 할당하기 전에 길이가있는 경우 문서의 ID에 대해 테스트하십시오. 그렇지 않다면 ID에 추가하십시오. 존재하는 경우 다시 정리하십시오.

+0

이것은 임의의 ID를 제공하지만 확실히 페이지가로드 될 때마다 생성되지 않습니까? OP의 필요에 따라 문제가 될 수 있습니다. 예 : pagelime과 같은 간단한 CMS 시스템은 동일하게 유지되는 고유 한 ID를 필요로합니다. –

+0

사실, func은 루핑 메커니즘의 일부로 간주되므로 docimages는 호출 될 때마다 업데이트됩니다. 그리고 네, 클라이언트 측 사용에 대한 또 다른 가정을하고있었습니다. 내 가정은 잘못 될 수 있습니다 :-( –

+1

여전히 주어진 정보로 OP 질문에 대답했기 때문에 +1 –

관련 문제