JQuery :(窗口).resize工作,(文档).ready没有

时间:2013-08-13 17:22:46

标签: jquery

我在使这个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>

1 个答案:

答案 0 :(得分: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');
        }
};