gpt4 book ai didi

javascript - 单击时从内存中删除函数

转载 作者:行者123 更新时间:2023-11-29 18:10:05 26 4
gpt4 key购买 nike

我会尝试解释我想做什么。我有一个调整大小的功能,当我按下一个按钮时它就会运行。此函数在窗口外打开两列,并在调整窗口大小时将其保留在外。但是,我想在稍后单击另一个 div 时重置该处理程序。只需从内存中删除或清除该函数即可避免调整大小。我已经阅读了一些帖子,但其中任何一个都解决了我的问题。

我调整大小的函数是:

function resizeColumnsOut(){
$(window).resize(function() {
var widthLeft = $('.column-left').outerWidth()+100,
widthRight = $('.column-right').outerWidth()+100,
vph = $(window).height();
$('.options').css({'height': vph + 'px', 'overflow': 'hidden'});
$('.column-left').css(
{'transform': 'translateX(-'+widthLeft+'px)',
'transition': 'all ease-out .6s'});
$('.column-right').css(
{'transform': 'translateX('+widthRight+'px)',
'transition': 'all ease-out .6s'});
}).resize();
}

$('[data-menu="close"]').click(function(){
$(this).hide();
resizeColumnsOut();
});

我点击时重置上一个功能的功能:

function goAbout(){
$('.about').click(function(){
/* Events like .off() or .unbind() don't solve my problem since the resizeColumnsOut() function is already running */
}

最佳答案

使用onoff相反:

开启:

$(window).on('resize', function() { [code snipped] });

关闭:

$(window).off('resize');

您还需要中止或完成已启动的动画。当您说您的 resizeColumnsOut 函数仍在运行时,您实际上是指它启动的 CSS 动画仍在运行:)

关于javascript - 单击时从内存中删除函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28212834/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com