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

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

Fullcalendar v5 如何使用菜單導航 nav-tabs 顯示和隱藏事件

Fullcalendar v5 如何使用菜單導航 nav-tabs 顯示和隱藏事件

慕哥6287543 2023-05-25 16:12:55
我想用像 bootstrap nav nav-tabs 這樣的菜單來顯示和隱藏事件。在選項卡上,我單擊 Event1 僅顯示帶有&ldquo;cid:&ldquo;1&rdquo;的事件&rdquo;,Event2 僅顯示帶有&ldquo;cid:&rdquo;2&ldquo;的事件,ALL 顯示所有事件。誰能幫我開發(fā)這個?HTML:<div class="row">? <div class="col-md-12">? ? <ul class="nav nav-tabs">? ? <li onclick="javascript:CalendarTypeSet(1)" class="nav-item"><a class="nav-link active" data-toggle="tab" href="#CalTab1" style="font-size:16px;"><b>EVENT1</b></a></li>? ? <li onclick="javascript:CalendarTypeSet(2)" class="nav-item"><a class="nav-link" data-toggle="tab" href="#CalTab2" style="font-size:16px;"><b>EVENT2</b></a></li>? ? <li onclick="javascript:CalendarTypeSet(3)" class="nav-item"><a class="nav-link" data-toggle="tab" href="#CalTab3" style="font-size:16px;"><b>EVENT3</b></a></li>? ? <li onclick="javascript:CalendarTypeSet('all')" class="nav-item"><a class="nav-link" data-toggle="tab" href="#CalTabAll" style="font-size:16px;"><b>ALL</b></a></li></ul>? </div>? <div class="col-md-12">? ? <input class="cs" value="1" type="checkbox" checked>Calendar1<br>? ? <input class="cs" value="2" type="checkbox" checked>Calendar2? ? <div id='calendar'></div>? </div>腳本:document.addEventListener("DOMContentLoaded", function () {? var calendarEl = document.getElementById("calendar");? var calendar = new FullCalendar.Calendar(calendarEl, {? ? now: "2020-07-11",? ? scrollTime: "00:00",? ? aspectRatio: 1.8,? ? headerToolbar: {? ? ? left: "today prev,next",? ? ? center: "title",? ? ? right: "dayGridMonth,timeGridWeek,timeGridDay,listMonth"? ? },? ? initialView: "dayGridMonth",? ? events: function (fetchInfo, successCallback, failureCallback) {? ? ? successCallback([? ? ? ? {? ? ? ? ? id: "1",? ? ? ? ? title: "event1",? ? ? ? ? start: "2020-07-01 19:30",? ? ? ? ? end: "2020-07-02 19:30",? ? ? ? ? backgroundColor: "#39CCCC",? ? ? ? ? cid: "1"? ? ? ? },
查看完整描述

1 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

您需要的更改更多地與選項卡的使用有關,而不是與 fullCalendar 3 和 5 之間的區(qū)別有關。與復選框相比,一次只能選擇一個選項,因此您需要從選項卡本身找出當前打開的選項卡.

所以這是一個可行的簡單想法:顯示選項卡時,運行一個函數。在該函數中,調用日歷的refetchEvents()方法 。然后您可以使用日歷的eventDataTransform回調來決定該事件是否應該顯示在日歷上,基于哪個選項卡當前是“活動的”。這是更可取的,eventDidMount因為它在事件呈現到日歷上之前運行,而不是之后運行。

像這樣的事情應該這樣做:

HTML:

<div class="row">

? <div class="col-md-12">

? ? <ul class="nav nav-tabs">

? ? ? <li data-tabid="1" class="nav-item"><a class="nav-link active" data-toggle="tab" href="#CalTab1" style="font-size:16px;"><b>EVENT1</b></a></li>

? ? ? <li data-tabid="2" class="nav-item"><a class="nav-link" data-toggle="tab" href="#CalTab2" style="font-size:16px;"><b>EVENT2</b></a></li>

? ? ? <li data-tabid="3" class="nav-item"><a class="nav-link" data-toggle="tab" href="#CalTab3" style="font-size:16px;"><b>EVENT3</b></a></li>

? ? ? <li data-tabid="all" class="nav-item"><a class="nav-link" data-toggle="tab" href="#CalTabAll" style="font-size:16px;"><b>ALL</b></a></li>

? ? </ul>

? </div>

</div>

<div class="row">

? <div class="col-md-12">

? ? <div id="calendar"></div>

? </div>

</div>

腳本:


document.addEventListener("DOMContentLoaded", function () {

? var calendarEl = document.getElementById("calendar");

? var calendar = new FullCalendar.Calendar(calendarEl, {

? ? initialDate: "2020-07-01",

? ? aspectRatio: 1.8,

? ? headerToolbar: {

? ? ? left: "today prev,next",

? ? ? center: "title",

? ? ? right: "dayGridMonth,timeGridWeek,timeGridDay,listMonth"

? ? },

? ? initialView: "dayGridMonth",

? ? events: function (fetchInfo, successCallback, failureCallback) {

? ? ? successCallback([

? ? ? ? {

? ? ? ? ? id: "1",

? ? ? ? ? title: "event1",

? ? ? ? ? start: "2020-07-01 19:30",

? ? ? ? ? end: "2020-07-02 19:30",

? ? ? ? ? backgroundColor: "#39CCCC",

? ? ? ? ? cid: "1"

? ? ? ? },

? ? ? ? {

? ? ? ? ? id: "2",

? ? ? ? ? title: "event2",

? ? ? ? ? start: "2020-07-09 19:30",

? ? ? ? ? end: "2020-07-10 19:30",

? ? ? ? ? backgroundColor: "#F012BE",

? ? ? ? ? cid: "2"

? ? ? ? }

? ? ? ]);

? ? },

? ? eventDataTransform: function (eventData) {

? ? ? var selectedTab = document.querySelector(".nav-tabs li a.active").dataset.tabid;

? ? ? ? ? if (selectedTab == "all" || eventData.cid == selectedTab) {

? ? ? ? ? ? return eventData;

? ? ? ? ? }

? ? ? ? ? else return false; //discard the event

? ? }

? });

? calendar.render();


? $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {

? ? ? calendar.refetchEvents();

? });

});


查看完整回答
反對 回復 2023-05-25
  • 1 回答
  • 0 關注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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