javascript - jQuery:addClass 仅一次

标签 javascript jquery html css

我有一个 addClassremoveClass 函数在窗口调整大小时运行,使用 if else 语句。标记如下:

$(window).load(function() {
  resize();
});

//Every resize of window
$(window).resize(function() {
  resize();
});

//Dynamically assign height
function resize() {
  // Handler for .ready() called.
    var windowWidth = $(window).width(),
        windowHeight = $(window).height(),
        windowHeight = windowWidth / 1.7777;

        var loadwindowHeight = $(window).height(),
            loadspriteHeight = $('.spritespin-canvas').height();

            if(loadspriteHeight < loadwindowHeight) {
                $('.spritespin-canvas').addClass('height');
            } else {
                $('.spritespin-canvas').removeClass('height');
            }

}

唯一的问题是,当你调整窗口大小时,它不断重复添加和删除类,是否可以运行一次 addClassremoveClass 函数?任何建议将不胜感激!

最佳答案

您可以使用 .hasClass .

var hasHeightClass = $('.spritespin-canvas').hasClass('height');
if (loadspriteHeight < loadwindowHeight && !hasHeightClass) {
    $('.spritespin-canvas').addClass('height');
} else if (hasClass) {
    $('.spritespin-canvas').removeClass('height');
}

关于javascript - jQuery:addClass 仅一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34207021/

相关文章:

javascript - form.submit() 方法中的 setTimeout 不起作用

javascript - jQuery 变量被多次定义 : for events and when the page loads

html - 对齐图像的正确 CSS 是什么?

javascript - 如何从 json 获取数组项,React

javascript - 通过ajax将PrimeFaces Schedule JSF页面加载到另一个JSF页面中

javascript - jQuery 自动完成菜单单击图像将数据发布到 Express 服务器

php - 如何创建与 PHP 一起用于网页的模板

php - 根据泛型函数中的参数动态添加 ajax 处理程序

javascript - jQuery 错误 : "$ is undefined"

html - 更改页面比例 (ctrl+ ctrl-),会破坏页面布局