썸네일을 클릭하여 더 큰 그림을 변경하고 싶습니다. 어떤 이유로 든 작동하지 않습니다. 나는 내가 뭘 잘못하고 있는지 단서가 없으며 그렇게 간단한 것을 너무 많이 낭비했다. 찾고 주셔서 감사합니다 :Jquery 썸네일 버튼이 작동하지 않습니다.
HTML을 - Head.php
.......
<section>
<img id="theImage" src="images/mods/angiograph/head/Ag1.jpg" title="Ag-01" alt="Ag-01">
</section>
<section id="rightMenu">
<div id="addHolder">
<h3 class="topHeader"><a href="#">Quick Pick</a></h3>
<div id="quickPick">
<ul id="thumbList">
</ul>
</div>
</section>
......
JS - 썸네일의 SRC가 사용하여 동적으로 생성 되었기 때문에 몸의 끝 부분에 문자열을()에 위치한이 불렀다 imageList 함수 (imageProvider.js 참조) 이러한 파일은 하위 디렉토리에 저장되기 때문에 루트 디렉토리 앞에 마침표가 있습니다.이 파일은 Head.php 파일의 소스에 대해 제거해야합니다. 아직 혼란 스럽습니까?
`
<script>
window.onload = imageProvider.initLinks;
$(document).ready(modUI.modAccord);
$(".Agthumb").click(function(){
var location = $(this).attr("src");
$("#theImage").attr("src", location.substring(1));
});
</script>
JS - imageProvider.js
var imageProvider = {
thisPic: 0,
initLinks: function() {
imageProvider.imageList(14, 2);
document.getElementById("nextPic").onclick = imageProvider.processNext;
document.getElementById("prevPic").onclick = imageProvider.processPrev;
},
multiDimensionArray:function (rows, columns) {
var myArray = new Array(rows);
for (var i = 0; i < rows; i++) {
myArray[i] = new Array(columns);
for (var j = 0; j < columns; j++) {
myArray[i][j] = "";
}
}
return (myArray);
},
imageList:function (qty, data) {
var imageData = imageProvider.multiDimensionArray(qty, data);
var filePath = './images/mods/angiograph/head/';
var imgPrefix = 'Ag';
var imageType = '.jpg';
for (var i = 0; i < qty; i++) {
imageData[i][1] = filePath + imgPrefix + (i + 1) + imageType;
}
for (var j = 0; j<imageData.length; j++){
$("<li>", { html:"<img class='"+ imgPrefix + "thumb' alt='"+ imgPrefix + (j + 1) + "' src=" + imageData[j][1] + " width='75' height='75'/>"}).appendTo("#thumbList");
}
}
};
나는 CSS를이 게시물에 관련된 생각하지 않는다,하지만 난 아무 문제를 게시이 없습니다. 바로 알려주세요! 다시 한번 감사드립니다.
어떤 부분이 작동하지 않습니다. 함수 호출을 확인 했습니까? js 오류가 표시됩니까? 당신이 돔을 검사 할 때, 근원은 다른가? atlasImageList의 데이터는 어떤 모양입니까? 그것은 정말로 인덱스 [0]에있는 속성입니까? src = imageProvider.atlasImageList [imageProvider.thisPic] [0]; – FlavorScape
@flavorScape 명확하지 않은 것에 대해 사과드립니다. 내 머리가 문제를 해결하기 위해 튀는 것입니다. 확실하지 않지만 click 기능이 호출되고 있다고 생각하지 않습니다. 그것은 파이어 폭스 오류 콘솔에서 아무것도 올려하지 않습니다. PHPStorm을 사용하고 있지만 아직 디버깅 방법을 알지 못했습니다. 위의 imageProvider.js를 업데이트했습니다. 거기에 몇 가지 기능이있었습니다. 모든 것이 imageProvider 객체에서 훌륭하게 작동합니다. 축소판은 올바른 동적 정보로로드됩니다. 그것은 페이지 하단의 스크립트에서 작동을 멈추는 것처럼 보입니다. – atomSmasher