紫衣仙女
2021-06-09 13:45:31
我為我的網(wǎng)站創(chuàng)建了一個加載器(整個前端都是自定義的,所以現(xiàn)在我可以編輯大約 95% 的所有內(nèi)容,除了 woocommerce 插件)。超級簡單的一個,它遵循這個邏輯,如果錨是 # 或頁面本身,它不會做任何事情(這是我想要的)但是生成我的圖片庫的 woocommerce 插件是一個不是頁面本身的鏈接或一種 #。這意味著我需要收集擴(kuò)展名的路徑名,如果它結(jié)束jpg png或任何圖像文件繼續(xù);并跳過動畫的其余部分并允許插件運(yùn)行它的課程。我在 woocommerce 中使用了 Barba JS、SWUP 和其他動畫,這是唯一一個不會中斷或有這么多條件的 woocommerce 動畫。function fadeInPage() { if (!window.AnimationEvent) { return; } var fader = document.getElementById('fader'); fader.classList.add('fade-out'); } document.addEventListener('DOMContentLoaded', function() { if (!window.AnimationEvent) { return } var anchors = document.getElementsByTagName('a'); ******* for (var idx = 0; idx < anchors.length; idx += 1) { if (anchors[idx].hostname !== window.location.hostname || anchors[idx].pathname === window.location.pathname) *******{ continue; } anchors[idx].addEventListener('click', function(event) { var fader = document.getElementById('fader'), anchor = event.currentTarget; var listener = function() { window.location = anchor.href; fader.removeEventListener('animationend', listener); }; fader.addEventListener('animationend', listener); event.preventDefault(); fader.classList.add('fade-in'); }); } }); window.addEventListener('pageshow', function (event) { if (!event.persisted) { return; } var fader = document.getElementById('fader'); fader.classList.remove('fade-in'); });我加注了我需要更改的內(nèi)容。動畫有效,頁面過渡有效。我需要動畫來識別 a 標(biāo)簽是否以 an 結(jié)尾jpg或png跳過而不執(zhí)行動畫并將鏈接視為動畫不存在。
1 回答

ABOUTYOU
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個贊
從未使用過 woocommerce 所以我不完全了解用例,但您可以獲得鏈接的文件擴(kuò)展名,如下所示:
for (var idx = 0; idx < anchors.length; idx += 1) {
let fileType = anchors[idx].href.split('.').pop();
//Do whatever
}
或者,如果您想將其與預(yù)設(shè)的擴(kuò)展列表進(jìn)行比較,您可以使用正則表達(dá)式:
for (var idx = 0; idx < anchors.length; idx += 1) {
if (anchors[idx].href.match(/\.(jpg|png)$/)) {
//Do whatever
}
}
添加回答
舉報(bào)
0/150
提交
取消