亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法獲取單擊的幻燈片的正確索引

無法獲取單擊的幻燈片的正確索引

MYYA 2024-01-18 16:18:29
我正在為滑塊編寫此函數,當我單擊幻燈片時我想獲取其索引。當我記錄時,clickedSlide它輸出正確的幻燈片,但由于某種原因clickedSlideIndex只返回奇數索引號(1、3、5 等)slides.forEach(slide => slide.onclick = handleSlideClick);function handleSlideClick() {    let clickedSlide = event.target;    let clickedSlideIndex = Array.prototype.indexOf.call(clickedSlide.parentNode.childNodes, clickedSlide);    // some stuff..}我缺少什么?
查看完整描述

2 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

奇數索引號可以通過以下示例來解釋:


document.getElementById('slides').onclick=handleSlideClick;


function handleSlideClick() {

  let clickedSlide = event.target;

  let clickedSlideIndex= Array.prototype.indexOf.call(clickedSlide.parentNode.childNodes, clickedSlide);

  console.log(clickedSlide,clickedSlideIndex);

}

.slide {display:inline-block}

<div id="slides">

 <div class="slide">one</div>&nbsp;

 <div class="slide">two</div>&nbsp;

 <div class="slide">three</div>&nbsp;

 <div class="slide">four</div>&nbsp;

 <div class="slide">five</div>&nbsp;

 <div class="slide">six</div>&nbsp;

</div>

這里每個節點div.slide后面都有一個&nbsp;(“非換行空格”)節點。在索引計數中,這個小實體也很重要!如果你想避免這種情況發生,你可以替換.childNodes為.children:


document.getElementById('slides').onclick=handleSlideClick;


function handleSlideClick() {

  let clickedSlide = event.target;

  let clickedSlideIndex= Array.prototype.indexOf.call(clickedSlide.parentNode.children, clickedSlide);

  console.log(clickedSlide,clickedSlideIndex);

}

.slide {display:inline-block}

<div id="slides">

 <div class="slide">one</div>&nbsp;

 <div class="slide">two</div>&nbsp;

 <div class="slide">three</div>&nbsp;

 <div class="slide">four</div>&nbsp;

 <div class="slide">five</div>&nbsp;

 <div class="slide">six</div>&nbsp;

</div>


查看完整回答
反對 回復 2024-01-18
?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

你可以這樣嘗試


slides.forEach((slide, index) => {

   slide.onclick = () => handleSlideClick(index)

});


function handleSlideClick(index) {

    

   console.log(index) // prints the index


    // some stuff..

}


查看完整回答
反對 回復 2024-01-18
  • 2 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號