1
저는 Javascript를 처음 사용하고 간단한 photoviewer, 슬라이드 쇼 응용 프로그램을 만들려고합니다. 나는 아마도 내가 알지 못하는 코드에서 오류/잘못된 관행을 가지고있을 것이다. 슬라이드 쇼 버튼의 이벤트가 발생하고 콘솔의 출력을 볼 수 있지만 무작위 슬라이드 쇼 버튼의 이벤트는 실행되지 않습니다.입력 버튼 onclick 이벤트가 실행되지 않습니다.
HTML5는
<form>
<div id="controls">
<input type="button" id="slideshow" value="Slide Show" />
<input type="button" id="randomSlideshow" value="Random Slide Show" />
</div>
</form>
<script src="js/PhotoViewer.js"></script>
</body>
JS는 onclick
핸들러 함수를 기대하고있다
var photosArrayGlobal = new Array();
var photoIndexGlobal = 0;
var displayGlobal;
window.onload = main;
function main() {
"use strict";
document.getElementById("slideshow").onclick = getArrayPhotosNames;
document.getElementById("randomSlideshow").onclick = randomize(photosArrayGlobal);
displayGlobal = document.getElementById("myImage");
document.getElementById("nextSlide").onclick = function() {
displayGlobal.setAttribute("src", photosArrayGlobal[1]); //Test value, image 2
};
}
function getArrayPhotosNames() {
var folderName = document.getElementById("photoFolder").value;
var commonName = document.getElementById("commonName").value;
var startNum = document.getElementById("startNum").value;
var endNum = document.getElementById("endNum").value;
var j = 0;
if (startNum > endNum) {
alert("Invalid Numbers");
}
var nameArray = new Array();
for (var i = startNum; i <= endNum; i++) {
nameArray[j] = folderName + commonName + i + ".jpg";
j++;
}
photosArrayGlobal = nameArray.slice();
console.log(photosArrayGlobal);
return nameArray;
}
function randomize(dataArray) {
var i = dataArray.length;
var j, tempi, tempj;
if (i === 0) {
return false;
}
while (--i) {
j = Math.floor(Math.random() * (i + 1));
tempi = dataArray[i];
tempj = dataArray[j];
dataArray[i] = tempj;
dataArray[j] = tempi;
}
console.log(dataArray);
}
굉장! 고맙습니다. Java/Eclipse 조합으로 코드를 디버깅하고 이와 같은 문제를 파악할 수 있습니까? – devcoder
예,이 작업을 수행 할 수있는 도구가 많이 있습니다. 개인적으로 Google 크롬 및 내장 된 개발자 도구를 사용하여 페이지를 디버깅합니다. (도구를 불러 오려면 마우스 오른쪽 버튼으로 클릭하고 "요소 검사"또는 Ctrl + Shift + J를 클릭하고 "소스"탭으로 전환하십시오.) – Lukas