Ես սկսնակ եմ և ինձ խենթացնում եմ այս հարցում, ուստի հուսով եմ, որ ինչ-որ մեկը կարող է օգնել, կամ գոնե կասի ինձ, որ ես սխալ ծառ եմ հաչում:
Ես փորձում եմ ներդնել հաջորդ և նախորդ կոճակները լուսանկարների պատկերասրահի համար՝ օգտագործելով JavaScript (կամ jQuery; ամեն ինչ, որն իսկապես աշխատում է): Ես դրան մոտեցել եմ՝ փորձելով պատկերները տեղադրել պատվիրված ցուցակի մեջ, այնուհետև հանել src տվյալները ցուցակի հաջորդ կետից, բայց դա չի աշխատում:
html-ն այս տողերի հետ մեկտեղ մի բան է (բլոկի div-ն օգնում է պատկերները տեղավորել նախքան մոդալ պատուհանը բացելը, և դրանց մեջ կան նաև վերնագրեր, այնպես որ դա պարզապես մեկ կետից բաղկացած, «հեշտ» ցուցակ չէ):
<div class="content">
<ol>
<li>
<div class="block">
<img src="Images/image1.jpg">
</div>
</li>
<li>
<div class="block">
<img src="Images/image2.jpg">
</div>
</li>
</ol>
</div>
Այսպիսով, հիմնականում, մոդալը ցույց կտա առաջին պատկերը (image1), և ես փորձում էի ստանալ հաջորդ կոճակը՝ գտնելու ցուցակի հաջորդ տարրը, վերցնել դրա img src-ը (այսինքն՝ image2.jpg) և փոխարինել ներկայիսը դրանով:
Սա իրականում հնարավո՞ր է: Ստորև բերված ծածկագիրը մի տեսակ տրամաբանություն է այն ամենի հիմքում, ինչ ես փորձում էի, բայց ես բացակայում եմ մի քանի հիմնական մասեր, ցավոք սրտի:
var images = document.getElementsByTagName('img');
var modalImg = document.getElementById("img01");
var captionText = document.getElementById("caption");
var i;
var next = document.getElementsByClassName("next")[0];
for (i = 0; i < images.length; i++) {
images[i].onclick = function(){
modal.style.display = "block";
modalImg.src = this.src;
/*and this is where it all falls down!*/
var indexNo = $(this).index();
var nextIndex = indexNo +1;
var nextItem = select the list item with the nextIndex;
}
next.onclick = function (){
newSrc = nextItem.getElementsByTagName('src');
modalImg.src = newSrc;
}
}
Եվ հետո ես կիրականացնեմ սրա հակադարձը նաև նախորդ կոճակի համար:
Ինչպես ասում եմ, ես միայն սկսնակ եմ, այնպես որ ասեք ինձ, եթե ես փորձում եմ անձրև ընկնել Ատակամայում: Շնորհակալություն կարդալու համար, ես անհամբեր սպասում եմ որևէ մեկի կարծիքին :)