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

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

通過 get() jQuery 分配的數組中的 ID 元素定位

通過 get() jQuery 分配的數組中的 ID 元素定位

慕標5832272 2022-11-27 17:27:21
如果我在這里弄錯了術語,我深表歉意。我在 html 中有一個圖像“網格”,我想使用 jQuery 隨機淡入每個元素。網格中的一項是徽標 - 我希望它最后淡出。網格大小可以更改,“徽標”的位置也可以不同。這是列表的簡化輸出。<ul id="homepage-grid" class="projectsgrid row">   <div  id="item1">      <a href="http://website.com/" class="block" style="padding-bottom: 100%;background:url('15376.jpg')">      </a>   </div>   <div id="item2">      <a href="http://website.com/" class="block" style="padding-bottom: 100%;background:url('15376.jpg')">      </a>   </div>   <div id="itemlogo" style="opacity: 0;">      <a href="#" class="block" style="padding-bottom: 100%;">         <div style="background-image:url('logoonly.png')" title="" class="logoblock"></div>      </a>   </div>   <div id="item4">      <a href="http://website.com/" class="block" style="padding-bottom: 100%;background:url('43576.jpg')">      </a>   </div>   <div id="item5">      <a href="http://website.com/" class="block" style="padding-bottom: 100%;background:url('15346.jpg')">      </a>   </div></ul>我有以下腳本,它將元素收集到一個數組中。但我無法弄清楚如何將元素與集合中的“itemlogo”ID 匹配以將其拆分并將其推到數組的末尾,以便它最后“淡入”。我試過“div#itemlogo”、“#itemlogo”、“itemlogo”,但似乎沒有任何匹配項,也許我不知道我正在做的事情的名稱,我找不到任何參考。var elems = $('#homepage-grid > div').get();  // collect elementsconsole.log(elems);    for (var i = elems.length - 1; i > 1; i--) { // Shuffle the order        var j = Math.floor(Math.random() * (i + 1));        var elem = elems[j];        elems[j] = elems[i];        elems[i] = elem;    }        elms = elems.push(elems.splice(elems.indexOf('div#itemlogo'), 1)[0]);  // pull logo to last??        var i = 0;    var timer = setInterval(function() { // animate fade them sequentially      console.log(elems[i]).id();        $(elems[i]).fadeTo( "slow" , 1);        if (i === elems.length) {            clearInterval(timer);        }        i++;    }, 150);
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

你走在正確的道路上,但這里的關鍵是你需要find一個特定的項目。這些項目是 DOM 元素,而不是字符串或選擇器本身。


elems.push(

  elems.splice(

    elems.findIndex(node=>node.id === 'itemlogo'),

    1

  )[0]

);

findIndex允許您傳遞一個函數,該函數應true為您想要的項目返回 - 在這種情況下,您需要 ID 為 的項目itemlogo。其余的只是你已經擁有的相同的推拼接東西。


我還要表揚你對數組改組的正確使用。您可以通過解構稍微簡化它:


[elems[i], elems[j]] = [elems[j], elems[i]];


查看完整回答
反對 回復 2022-11-27
  • 1 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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