Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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
Javascript Jquery-单击缩小DIV_Javascript_Jquery_Css - Fatal编程技术网

Javascript Jquery-单击缩小DIV

Javascript Jquery-单击缩小DIV,javascript,jquery,css,Javascript,Jquery,Css,我正在使用下面的代码来设置div的动画 $(“i.legend-icon”)。单击(函数(){ $(“.scatterchartcolumn”).animate({width:'-=100px'}); }); 我想要潜水舱,但只想缩小。但它完全隐藏了100px的div。我不希望这种事发生 我希望动画停止,div返回到默认情况下再次单击同一div时的相同位置 这是密码。。当我再次单击I.legend图标时,我想停止它并使.scatterChart列的宽度与默认值相同。我还希望动画一直运行,直到再

我正在使用下面的代码来设置div的动画

$(“i.legend-icon”)。单击(函数(){
$(“.scatterchartcolumn”).animate({width:'-=100px'});
});
  • 我想要潜水舱,但只想缩小。但它完全隐藏了100px的div。我不希望这种事发生

  • 我希望动画停止,div返回到默认情况下再次单击同一div时的相同位置

  • 这是密码。。当我再次单击I.legend图标时,我想停止它并使.scatterChart列的宽度与默认值相同。我还希望动画一直运行,直到再次单击I.legend-icon。目前,它会在一秒钟左右停止动画制作

    HTML
    
    
    css
    .scatterchartcolumn{
    浮动:左;
    显示:内联;
    左边距:25px;
    宽度:780px;
    高度:300px;
    }
    
    我不确定“完全隐藏100px的div”是什么意思,但就切换位而言,您可以执行以下操作:

    //缓存选择器(不要在每次单击时在DOM中搜索.scatterchartcolumn)
    var col=$(“.scatterchartcolumn”);
    var originalWidth=col.width();//保存宽度
    $(“i.legend-icon”)。单击(函数(){
    if(col.hasClass(“收缩”){//检查是否存在“收缩”类
    col.removeClass(“收缩”)//切换类
    .stop(true,true)//清除动画队列
    .animate({width:originalWidth});
    }否则{
    col.addClass(“收缩”)
    .停止(对,对)
    .animate({宽度:'-=100px'});
    }
    });
    

    至于您的注释:“我希望动画一直运行,直到我再次单击I.legend图标。目前它在一秒钟左右停止动画制作…”因为这是一个定时动画,代码将在给定的时间段内删除100px的宽度。(如果我们不知道何时单击按钮,jquery动画就不可能了)。如果你想缩小它直到你点击按钮,你可以让它在更长的时间内缩小到0px?我不确定你到底想要什么


    更新 为了在较长的时间内设置动画,请将一个数字(毫秒)作为.animate()的第二个参数,如下所示:

     .animate({width: 0}, 10000); // animate to 0 width over 10 000ms
    

    我不确定“完全隐藏100px的div”是什么意思,但就切换位而言,您可以执行以下操作:

    //缓存选择器(不要在每次单击时在DOM中搜索.scatterchartcolumn)
    var col=$(“.scatterchartcolumn”);
    var originalWidth=col.width();//保存宽度
    $(“i.legend-icon”)。单击(函数(){
    if(col.hasClass(“收缩”){//检查是否存在“收缩”类
    col.removeClass(“收缩”)//切换类
    .stop(true,true)//清除动画队列
    .animate({width:originalWidth});
    }否则{
    col.addClass(“收缩”)
    .停止(对,对)
    .animate({宽度:'-=100px'});
    }
    });
    

    至于您的注释:“我希望动画一直运行,直到我再次单击I.legend图标。目前它在一秒钟左右停止动画制作…”因为这是一个定时动画,代码将在给定的时间段内删除100px的宽度。(如果我们不知道何时单击按钮,jquery动画就不可能了)。如果你想缩小它直到你点击按钮,你可以让它在更长的时间内缩小到0px?我不确定你到底想要什么


    更新 为了在较长的时间内设置动画,请将一个数字(毫秒)作为.animate()的第二个参数,如下所示:

     .animate({width: 0}, 10000); // animate to 0 width over 10 000ms
    

    JQUERY:

    $(document).ready(function() {
    $(".scatterchartcolumn").click(function(){
      $(this).animate({
        width: "0px",
          height:"0px",
      }, 1500 );
    });
        });
    

    JQUERY:

    $(document).ready(function() {
    $(".scatterchartcolumn").click(function(){
      $(this).animate({
        width: "0px",
          height:"0px",
      }, 1500 );
    });
        });
    

    下面的代码将帮助您做到这一点

    $(".legend-icon").click(function () {
           if ($(this).attr('id') == "icon1") {
              $(".scatterchartcolumn").animate({ width: '-=100px' }, 2500);
              $(this).attr('id', 'icon2');
           }
           else {
              $(".scatterchartcolumn").animate({ width: '+=100px' }, 2500);
              $(this).attr('id', 'icon1');
           }
       });
    
    这是工作样本


    看看这个网站,它有更多与jquery相关的常见问题。这可能会对您有所帮助。

    下面的代码将帮助您完成此操作

    $(".legend-icon").click(function () {
           if ($(this).attr('id') == "icon1") {
              $(".scatterchartcolumn").animate({ width: '-=100px' }, 2500);
              $(this).attr('id', 'icon2');
           }
           else {
              $(".scatterchartcolumn").animate({ width: '+=100px' }, 2500);
              $(this).attr('id', 'icon1');
           }
       });
    
    这是工作样本


    看看这个网站,它有更多与jquery相关的常见问题。它可能会对您有所帮助。

    $(“.scatterchartcolumn”).animate({width:'-100px'})
    $(“.scatterchartcolumn”).animate({width:'-100px'})你好,兄弟!!谢谢你的回答。我真正想要的是。。现在,对于您的代码,当我单击I.legend图标时,它会收缩,但仅在特定时间收缩。正如你所说,这是一个定时动画。你能指导我如何将收缩设置为0px,这样我就可以使div收缩,直到我再次点击同一个按钮吗?@Ash更新了答案,这就是你想要的吗?不,那不是兄弟。。对不起,我不清楚。。点击i.legend-icon->div缩小至100px宽度。仅当(再次单击,i.legend-icon)->div返回原始宽度。@Ash如果要将宽度设置为100px,只需将100px(不带-=业务)写入Hi bro!!谢谢你的回答。我真正想要的是。。现在,对于您的代码,当我单击I.legend图标时,它会收缩,但仅在特定时间收缩。正如你所说,这是一个定时动画。你能指导我如何将收缩设置为0px,这样我就可以使div收缩,直到我再次点击同一个按钮吗?@Ash更新了答案,这就是你想要的吗?不,那不是兄弟。。对不起,我不清楚。。点击i.legend-icon->div缩小至100px宽度。仅当(再次单击,i.legend-icon)->div返回原始宽度。@Ash如果要将宽度设置为100px,只需写入100px(不带-=业务)