JQuery:(window).resize 有效,(document).ready 无效

标签 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>

最佳答案

如注释中所示,document.ready != window.onload。 Document.ready 不会等待图像实际加载。因此,它可能会产生不好的结果。当您想要等待图像完全完成时,您应该 Hook 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');
        }
};

关于JQuery:(window).resize 有效,(document).ready 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18215409/

相关文章:

javascript - 点击链接后如何通过id触发另一个页面的onclick?

jquery - 自定义选择器,用于根据渲染位置和大小使用 jQuery 在特定方向上元素的视觉接近度

c# - 从 MVC HttpPost 将错误返回给 jQuery

javascript - Grails:选择另一个下拉列表时填充下拉列表

javascript - 如何将jquery代码转换为函数?

此特定实例中的 javascript 变量范围

javascript - 表头固定的JS代码TH宽度必须等于TD宽度

javascript - Bootstrap Accordion ,单击时滚动到事件(打开) Accordion 的顶部?

jquery - 页面加载时的垂直 jquery megamenu 插件子菜单

javascript - jQuery 中的页面重定向随机失败。比赛条件?