jQuery FullCalendar tidak dirender

Saya memiliki kalender penuh yang berfungsi di situs saya, namun tabel kalender sebenarnya tidak muncul sampai Anda mengubah bulan/tahun atau memilih "hari ini".

Jika saya melihat sumber yang dirender, saya melihat div di sekitar tabel kosong sampai saya menekan tombol.

<div style="position: absolute; -moz-user-select: none;" class="fc-view fc-view-month fc-grid" unselectable="on"></div>

Adakah yang tahu mengapa ini terjadi?


person ksumarine    schedule 26.04.2012    source sumber


Jawaban (1)


Apakah Anda memiliki kalender ini di tab atau dialog, yang awalnya tersembunyi dari pandangan?

Jika demikian, Anda perlu merender fullCalendar secara eksplisit saat kontrol tersebut aktif.

Katakanlah Anda menggunakan widget jQuery UI Tabs dan memiliki FullCalendar di tab ke-2 (yang disembunyikan dari tampilan hingga tab ke-2 dipilih). Dalam hal ini, Anda dapat melakukan hal seperti ini:

$('#tabs').tabs({
    show: function(event, ui) {
        $('#calendar').fullCalendar('render');
    }
});

Ini memastikan bahwa kalender dirender saat tab ditampilkan. Semoga ini membantu!

person ganeshk    schedule 27.04.2012
comment
Bingo, itu berhasil. Saya tidak memilikinya di tab UI, tetapi di tab khusus yang saya buat. Saya mencoba merendernya tetapi saya rasa saya tidak meletakkan kode itu di tempat yang tepat. Terima kasih! - person ksumarine; 27.04.2012
comment
Itu hebat! Maukah Anda menerima ini sebagai jawaban Anda? - person ganeshk; 27.04.2012
comment
@Corey jangan lupa menerima jawaban jika itu menyelesaikan masalah Anda. Jika tidak, orang tidak akan menjawab Anda lagi... - person Juan Gonzales; 27.04.2012
comment
Sekadar catatan singkat (omong-omong, jawaban sempurna). Adakah yang tahu mengapa itu tidak menampilkan tampilan yang tersembunyi pada awalnya? Bagi saya, saya harus merender setelah modal saya masuk dan beraksi dengan cara yang aneh... Tidak masalah karena saya hanya akan menutupinya dan memudarkannya (karena saya operator yang lancar )... Tapi saya masih ingin tahu alasan di balik keputusan untuk tidak merender jika disembunyikan! :) - person lol; 15.11.2015
comment
@lol FC (serta banyak perpustakaan JS lainnya) menghitung dimensi dan posisi elemen yang akan dirender berdasarkan lokasi penempatannya. Dengan elemen tersembunyi, penghitungan ini akan menjadi tidak valid segera setelah elemen induk (seperti tab atau modal) terlihat. Oleh karena itu, kami memaksa FC untuk menghitung berdasarkan tampilan elemen induk. - person ganeshk; 04.12.2015
comment
Sempurna! Itu masuk akal. Jadi solusi optimalnya adalah dengan memudarkannya, bukan? - person lol; 06.12.2015