水平

时间:2016-10-03 20:24:19

标签: javascript jquery

这可能很难解释。

我正在使用下面的代码将div部分地从窗口中水平移出并再次返回。这有效,但我有一两个问题。

我切换的div根据窗口宽度(vw)具有可变宽度,而不是每个窗口宽度都是相同的vw单位数。这是由不同窗口宽度的媒体查询控制的。

这会导致一个问题,因为当div被切换为部分关闭窗口并且我缩放窗口时,屏幕中可见的div数量会发生变化,这是我不想要的。另外,当我在屏幕上完全切换div时,宽度与窗口大小的媒体查询不一致。

我想要发生的是切换div关闭窗口,无论窗口大小如何,总是在窗口中留下相同数量的div。另外,当我在屏幕上切换div时,div会根据窗口大小的媒体查询获取宽度,就像那时一样。

所以:     当切换出视图(部分)时,我希望div根据媒体查询继续按窗口宽度更改进行缩放。但即便如此,我希望div只在窗口内显示80个像素。当div再次以全视图切换时,它将根据媒体查询设置具有正确的宽度。

也许这个: 看起来div在部分关闭窗口时需要正确对齐。因此,如果缩放窗口,则随后更改div宽度大小不会影响它在窗口中的显示方式。然后它保持在80像素,因为窗口的div会变小或变大。但是当div被切换为再次完全出现在屏幕中时,它需要再次向左对齐窗口。这可能会以某种方式工作,如何编码?

JSFIDDLE Here。有人可以帮忙吗?

这是我的代码:

$(document).ready(function () {
        $("#togglebutton").click(function () {
        if($(this).hasClass('active')){

        $(this).removeClass('active');
        $("#myToggleDiv").animate({
                left: '0%'
        });
        }else{
        $(this).addClass('active');
        $("#myToggleDiv").animate({
                left: -$('#myToggleDiv').width() + 80
        });
        }


        });
    });

1 个答案:

答案 0 :(得分:0)

如何在80px的边距上添加调整,并使用100%的宽度进行定位?

    $(document).ready(function() {
      $("#togglebutton").click(function() {
        if ($(this).hasClass('active')) {

          $(this).removeClass('active');
          $("#myToggleDiv").animate({
            left: '0%',
            'margin-left': '0'
          });
        } else {
          $(this).addClass('active');
          $("#myToggleDiv").animate({
            left: '-100%',
            'margin-left': '80px'
        });
    }


  });
});