首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在满足一定条件后只执行一次代码?

如何在满足一定条件后只执行一次代码?
EN

Stack Overflow用户
提问于 2016-11-07 14:01:07
回答 5查看 68关注 0票数 0

我希望在窗口达到一定宽度(1023px)时交换2个div的内容,但我不希望在窗口达到一定宽度(1023px)后每次调整窗口大小时都继续运行交换代码:

代码语言:javascript
运行
复制
$(window).resize(function() {

  if($(window).width() <= 1023) {      

    var $left_col = $('.about-left-col').html();
    var $right_col = $('.about-right-col').html();

    $('.about-right-col').html($left_col);
    $('.about-left-col').html($right_col);

  } 

});
EN

回答 5

Stack Overflow用户

发布于 2016-11-07 14:03:33

使用==

代码语言:javascript
运行
复制
$(window).resize(function() {

  if($(window).width() == 1023) {      

    var $left_col = $('.about-left-col').html();
    var $right_col = $('.about-right-col').html();

    $('.about-right-col').html($left_col);
    $('.about-left-col').html($right_col);

  } 

});
票数 0
EN

Stack Overflow用户

发布于 2016-11-07 14:04:10

您可以设置一个简单的变量(在调整函数大小的上面)并对其进行检查。

代码语言:javascript
运行
复制
var wasResized = false;

调整大小时将其设置为true,并在条件为true/false时对其进行检查。

票数 0
EN

Stack Overflow用户

发布于 2016-11-07 14:04:19

使用全局变量来存储状态

代码语言:javascript
运行
复制
var notChanged = true;

$(window).resize(function() {

  if($(window).width() <= 1023) {      
    if(notChanged) {//test if its not changed
    var $left_col = $('.about-left-col').html();
    var $right_col = $('.about-right-col').html();

    $('.about-right-col').html($left_col);
    $('.about-left-col').html($right_col);
     notChanged = false;//set it to false so the code doesn't trigger anymore 
    }
  } 

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40458718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档