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

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

如何在 Turbolinks 中使用 HTML 初始化 Flickity

如何在 Turbolinks 中使用 HTML 初始化 Flickity

qq_笑_17 2022-07-21 10:23:07
我正在使用Flickity 庫。這是我的 HTML:<section class="controls-inside controls-light p-0" data-flickity='{ "imagesLoaded": true, "wrapAround": true }'>它在第一次加載時運行良好,它創(chuàng)建了這個 HTML:<section class="controls-inside controls-light p-0 flickity-enabled is-draggable" data-flickity="{ "imagesLoaded": true, "wrapAround": true }" tabindex="0">但是一旦我導(dǎo)航到任何其他頁面并嘗試返回主頁(此代碼所在的位置),它只會生成頂部的第一個代碼(即未初始化的版本)。這是目前我的TL代碼:$(document).on("turbolinks:load", () => {  $('[data-toggle="tooltip"]').tooltip()  $('[data-toggle="popover"]').popover()})因此,鑒于我正在使用 HTML 初始化,我該如何使用 TL 來處理這個問題?編輯 1如果尚未通過 HTML 初始化 Flickity,我也愿意通過 JS 初始化 Flickity。無論哪種方式對我來說都很好,所以它有效。編輯 2在我的application.js中,我現(xiàn)在有以下內(nèi)容:$(document).on("turbolinks:load", () => {  var Flickity = require('flickity');  var flkty = new Flickity( 'section[data-flickity]', {      imagesLoaded: true,      wrapAround: true,  });})這有點工作。發(fā)生的情況是,當(dāng)我嘗試導(dǎo)航到另一個頁面并返回具有滑塊的頁面時,我可以看到它加載了兩次。如,它最初加載滑塊,然后在加載欄進(jìn)度中途我看到它,整個頁面再次刷新。所以感覺它正在做兩倍的工作。我只想加載一次。它還會在我的瀏覽器控制臺中產(chǎn)生以下錯誤。在第一次加載頁面時:flickity.js:57 Uncaught TypeError: Cannot read property 'option' of undefined    at new Flickity (flickity.js:57)    at HTMLDocument.<anonymous> (application.js:43)    at HTMLDocument.dispatch (jquery.js:4670)    at HTMLDocument.elemData.handle (jquery.js:4490)    at Object../node_modules/turbolinks/dist/turbolinks.js.e.dispatch (turbolinks.js:75)    at r.notifyApplicationAfterPageLoad (turbolinks.js:994)    at r.pageLoaded (turbolinks.js:948)    at turbolinks.js:872Flickity @ flickity.js:57(anonymous) @ application.js:43dispatch @ jquery.js:4670elemData.handle @ jquery.js:4490如果我從控制臺清除錯誤,離開并返回,這是我的控制臺在第二個頁面加載時的唯一錯誤:flickity.js:47 Bad element for Flickity: section[data-flickity]什么可能導(dǎo)致這些錯誤,我該如何解決?
查看完整描述

1 回答

?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗 獲得超8個贊

您可以刪除應(yīng)用程序src目錄中的 JS 文件并使用 NPM 安裝它


npm install flickity

然后,在application.css中需要 Flickity CSS 文件


*= require flickity.css

turbolinks:load然后,在您的 JS 文件中,您可以像對工具提示和彈出框所做的那樣初始化 Flickity 。


import Flickity from 'flickity';


$(document).on("turbolinks:load", () => {

    if($('section[data-flickity]').length > 0) {

        var flkty = new Flickity( 'section[data-flickity]', {

            imagesLoaded: true,

            wrapAround: true,

        });

    }

})


查看完整回答
反對 回復(fù) 2022-07-21
  • 1 回答
  • 0 關(guān)注
  • 82 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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