第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在頁面之間重新初始化自定義js文件(Barba.js)?

如何在頁面之間重新初始化自定義js文件(Barba.js)?

慕妹3146593 2023-08-18 17:25:31
我有 Barba.js 在我正在開發(fā)的網(wǎng)站上工作,我已經(jīng)調(diào)試了一些其他問題,但我注意到我的 jS 沒有在頁面之間重新初始化,這不是預(yù)期的行為。請參閱下面的代碼(出于 DRY 目的,我已刪除了實(shí)際網(wǎng)站內(nèi)容):索引.html:<head><!--- Default Page Values --><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="icon" type="image/png" href="favicon.png" /><title>TEST.</title><!--- Load Local Styles --><link type="text/css" rel="stylesheet" href="fonts/fontsauce.css" /><link rel="stylesheet" href="css/globals.css"><link rel="stylesheet" href="css/header.css"><link rel="stylesheet" href="css/app.css"><link rel="stylesheet" href="css/videoModal.css"><!--- End Load Local Styles --><!--- Load Local Scripts --><script src="js/lib/jQuery/jquery-3.5.1.min.js"></script><script src="js/lib/anime/anime.min.js"></script><script src="js/lib/parallax/parallax.min.js"></script><script src="js/lib/barba/2.9.7/barba.umd.js"></script><!--- End Load Local Scripts --><!--- Load External Scripts --><script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/gsap.min.js" integrity="sha512-IQLehpLoVS4fNzl7IfH8Iowfm5+RiMGtHykgZJl9AWMgqx0AmJ6cRWcB+GaGVtIsnC4voMfm8f2vwtY+6oPjpQ==" crossorigin="anonymous"></script><!--- End Load External Scripts --></head><body id="barba-wrapper" data-barba="wrapper">   <main class="barba-container" data-barba="container" data-barba-namespace="home">      // all my website content //   </main>   <script src="js/introParams.js"></script>   <script src="js/parallaxParams.js"></script>   <script src="js/content.js"></script>   <script src="js/videoModal.js"></script>   <script src="js/pageTransitions.js"></script></body>據(jù)我了解,問題是每次將新頁面的內(nèi)容加載到 DOM 中時(shí),它都不會(huì)重新初始化我的其他腳本。有什么想法可以如何正確地重新初始化其他腳本嗎?
查看完整描述

2 回答

?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

就像在回調(diào)中重置滾動(dòng)一樣,beforeEnter您還需要從腳本中調(diào)用 init 方法,以在新頁面加載時(shí)重置它們。afterEnter如果您需要訪問新頁面 dom,您也可以這樣做。來自 barba.js 文檔:


barba.init({

? views: [{

? ? namespace: 'home',

? ? beforeEnter() {

? ? ? // re-init/reset script default function on before page load

? ? ? myScriptInit();

? ? },

? ? afterEnter() {

? ? ? // refresh parallax on new page content

? ? ? parallax.refresh();

? ? }

? }]

});

查看完整回答
反對 回復(fù) 2023-08-18
?
Qyouu

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊

就我而言,這有幫助:


barba.hooks.after(() => {

const bottomDOM = document.getElementsByTagName("body")[0]

const newScript = document.createElement("script")

const oldScript = document.querySelector(".main-script")

newScript.src = "js/main-dist.js"

newScript.className = "main-script"

oldScript.remove()

bottomDOM.appendChild(newScript)

})

我<script class="main-script"></script>在 DOM 末尾有一個(gè),并使用 barba.hook 刪除它,然后再次添加它


查看完整回答
反對 回復(fù) 2023-08-18
  • 2 回答
  • 0 關(guān)注
  • 188 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)