3

我在让这个 JQuery 脚本工作时遇到了一些问题。调整图像大小时它可以完美地工作,但我无法让它在初始页面加载时工作。有任何想法吗?我完全被困住了,没有什么对我有用。

   <script type="text/javascript">
        $(window).resize(function () {
            if ($(window).width() <= 600) {
                $('#fcalendar').fullCalendar('changeView', 'basicDay');
            } else if ($(window).width() < 748) {
                $('#fcalendar').fullCalendar('changeView', 'basicDay');
            } else {
                $('#fcalendar').fullCalendar('changeView', 'month');
            }
        });

        $(document).ready(function () {
            if ($(document).width() <= 600) {
                $('#fcalendar').fullCalendar('changeView', 'basicDay');
            } else if ($(window).width() < 748) {
                $('#fcalendar').fullCalendar('changeView', 'basicDay');
            } else {
                $('#fcalendar').fullCalendar('changeView', 'month');
            }
        });
    </script>
4

1 回答 1

1

如评论中所示,document.ready != window.onload。Document.ready 不会等待图像实际加载。因此,它可能会产生不好的结果。当您想要等待图像完全完成时,您应该挂钩 window.onload 事件(这也是视差站点中需要等待图像加载的机制)。

window.onload = function () {
        if ($(document).width() <= 600) {
            $('#fcalendar').fullCalendar('changeView', 'basicDay');
        } else if ($(window).width() < 748) {
            $('#fcalendar').fullCalendar('changeView', 'basicDay');
        } else {
            $('#fcalendar').fullCalendar('changeView', 'month');
        }
};
于 2013-08-13T17:29:05.123 回答