簡體   English   中英

動態JavaScript事件日歷,支持多天事件

[英]Dynamic javascript event calendar with multi-day event support

好的,所以我已經花了好幾個月的時間來解決這個問題。 但是我似乎找不到一個簡單的解決方案來使用Javascript創建日歷,從而可以向其中動態添加事件並支持多日事件。

我的第一種方法是使用具有年月日關聯ID的div,以便我可以輕松添加事件,這里的問題是無法支持多日事件,但是添加單日事件很容易。

我最新的方法是剖析Google日歷,它們顯然使用表格,這是一個很好的解決方案,因為它可以輕松支持多日事件塊(使用colspan),但是在表格上添加/呈現事件似乎是完全不同的壯舉,因為我不能簡單地將它們添加到列/單元格塊中。 我必須生成一個新行,然后,如果它是一個多日活動,將事件推倒,那么我也必須重新渲染日歷的那些部分。 這是我目前正在使用的當前“動態”方法的鏈接: https : //r3dux.com/css/caldyn.php

這是一個靜態版本,用於顯示其上帶有事件的外觀: https : //r3dux.com/css/cal.php

我不想使用任何形式的第三方日歷。 我想使用純Javascript,NO Jquery或其他框架來做到這一點。

如果您可以簡單地給我一些建議或其他解決方法,那將非常有幫助。

基本要求是它具有多日活動支持,可以調整為“周”視圖(僅顯示當前和下周),並允許我顯示活動每一天的開始/結束時間。 我還需要以某種方式支持在夏令時和標准時間之間安排事件。 例如,如果當前是DST,並且在STD時安排將來的事件,則我希望用戶在DST期間選擇的時間是安排事件的時間,因此切換發生時的時間不會改變一個小時。

首先,我將考慮重構renderCalendar函數-很大! 很難想象,更不用說用該代碼實現多日活動了。

我已經基於一些未完成的舊代碼(目的是創建類似Google的日歷)創建了一個小提琴 ,它也許可以作為如何做的建議。 它與您想要的相去甚遠,但是也許您可以從中汲取一些想法。

它是在沒有任何第三方庫的情況下編寫的,但是它需要新的瀏覽器。 然而, mapsome等功能可以很容易地填充

CalendarDayEvent原型是避免大量方法的一種方法。 例如,我可以刪除渲染方法中的邏輯以完全遵循MVC模式,從而簡化了開發。

動態地添加事件,推動了EventCalendar.events並調用Calendar.render() 它已經“支持”多日活動和單日活動,但是絕對需要做一些工作。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM