javascript - 无法从 .resize() 中调用 jQuery 函数

标签 javascript jquery

这是我的代码:

function centerAlign(image, parent) {
    image.load(function() {
        var imageWidth = image.width();
        var parentWidth = parent.width();
        if(imageWidth != 0) {
            var trim = (parentWidth - imageWidth) / 2;
            image.css("marginLeft", trim);
        }
    });
}

$(window).resize(function() {
    centerAlign($(".swiper-slide img"), $(".swiper-slide"));
});

$(document).ready(function() {
    centerAlign($(".swiper-slide img"), $(".swiper-slide"));
});

它在页面加载时运行该函数,但不在窗口调整大小时运行。有什么想法吗?

最佳答案

找到解决方案,我在调整大小中调用加载。猜测它已经加载,因此不会在调整大小时运行。更改为:

function centerAlign(image, parent) {
    var imageWidth = image.width();
    var parentWidth = parent.width();
    if(imageWidth != 0) {
        var trim = (parentWidth - imageWidth) / 2;
        image.css("marginLeft", trim);
    }
}

$(window).resize(function() {
    centerAlign($(".swiper-slide img"), $(".swiper-slide"));
});

$(document).ready(function() {
    $(".swiper-slide img").load(function() {
        centerAlign($(".swiper-slide img"), $(".swiper-slide"));
    });
});

现在我只在ready()中调用load,而不是在resize()中调用load。希望这对其他人有帮助。

关于javascript - 无法从 .resize() 中调用 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27069721/

相关文章:

javascript - CSS3不透明度的最大精度是多少?

javascript - 使用 JavaScript 更改背景图像

javascript - 在 Webstorm 中设置 Angular.js?

javascript - var 语句应该是 JavaScript 函数中的第一条语句吗?

jquery - 如何为动态添加的元素添加 Jquery Mobile 效果?

javascript - 使用 html5 和 jQuery 绘制按钮图

采用不同格式参数的javascript函数

javascript - 如何在单击时调用参数来调用函数

jquery - 如何在Rails中使用下拉菜单和ajax过滤数据

javascript - 将 HTML 明文数据解析为 javascript 数组