Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停止jQuery中的一个函数并运行另一个函数_Jquery_Html_Minimization_Minimized - Fatal编程技术网

停止jQuery中的一个函数并运行另一个函数

停止jQuery中的一个函数并运行另一个函数,jquery,html,minimization,minimized,Jquery,Html,Minimization,Minimized,我试图在向下滚动页面时弹出的div上创建最小化效果。一切都很好,只有一个问题。如果最小化功能完成,我向上滚动页面,它将恢复其原始值。我希望在点击最小化按钮并向上滚动一点后,它应该保持最小化,不恢复 这是我正在使用的 $(function () { $(window).scroll(function () { var height = $(window).height() /2; if ($(this).scrollTop() >= height) {

我试图在向下滚动页面时弹出的div上创建最小化效果。一切都很好,只有一个问题。如果最小化功能完成,我向上滚动页面,它将恢复其原始值。我希望在点击最小化按钮并向上滚动一点后,它应该保持最小化,不恢复

这是我正在使用的

$(function () {
    $(window).scroll(function () {
        var height = $(window).height() /2;
        if ($(this).scrollTop() >= height) {
            $("#box").animate({'bottom':'0px'},300);
        }
        else {
            $("#box").stop(true).animate({'bottom':'-150px'},100);
        }
}); });

$('.minimize').toggle(function() {
  $('#box').animate({'bottom':'-80px'},200);},
  function() { $('#box').animate({'bottom':'0px'},200);
});

查看演示

我同意Machiee的评论

您可以这样做:

$(function () {
    $(window).scroll(function (e) {
        if($('#box').hasClass('minimized'))
            return;
        var height = $(window).height() /2;
        if ($(this).scrollTop() >= height) {
            $("#box").animate({'bottom':'0px'},300);
        }
        else {
            $("#box").stop(true).animate({'bottom':'-150px'},100);
        }
}); });

$('.minimize').toggle(function() {
  $('#box').animate({'bottom':'-80px'},200);
  $('#box').addClass('minimized');
},
  function() { $('#box').animate({'bottom':'0px'},200);
              $('#box').removeClass('minimized');
});

检查演示

添加开关/状态管理器,并添加一个类来通知用户已单击最小化,如果为true-不要设置动画。我还想到了
removeClass()
,但代码与我之前创建的结构不匹配。这个很好用。非常感谢。