Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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/8/http/4.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 - Fatal编程技术网

Jquery 通过设置高度动画显示内容(不隐藏所有内容)

Jquery 通过设置高度动画显示内容(不隐藏所有内容),jquery,Jquery,我想部分显示一个列表,然后当点击一个按钮时,我想更改按钮的类别,并使用div的全高显示完整列表,然后当再次点击按钮时,我希望它从最初的显示开始,而不是隐藏整个内容 HTML: 您可能需要使用设置动画并自己编写切换机制的代码。大致如下: $("section#newsletters .hide").click(function () { $("section#newsletters nav").animate({ height: "100px"}, 400, functio

我想部分显示一个列表,然后当点击一个按钮时,我想更改按钮的类别,并使用div的全高显示完整列表,然后当再次点击按钮时,我希望它从最初的显示开始,而不是隐藏整个内容

HTML:


您可能需要使用
设置动画
并自己编写切换机制的代码。大致如下:

$("section#newsletters .hide").click(function () {
    $("section#newsletters nav").animate({ height: "100px"}, 400,
        function() { $("section#newsletters").removeClass("hide").addClass("show"); }
    );
});
$("section#newsletters .show").click(function () {
    $("section#newsletters nav").animate({ height: "1000px"}, 400,
        function() { $("section#newsletters").removeClass("show").addClass("hide"); }
    );
});

100px
1000px
分别是折叠列表和展开列表的高度。

您可能需要使用
动画
并自己编写切换机制的代码。大致如下:

$("section#newsletters .hide").click(function () {
    $("section#newsletters nav").animate({ height: "100px"}, 400,
        function() { $("section#newsletters").removeClass("hide").addClass("show"); }
    );
});
$("section#newsletters .show").click(function () {
    $("section#newsletters nav").animate({ height: "1000px"}, 400,
        function() { $("section#newsletters").removeClass("show").addClass("hide"); }
    );
});

100px
1000px
分别是折叠列表和展开列表的高度。

您必须创建自己的切换程序。简单明了:

var toggle = true, oldHeight = 0;

$('section#newsletters .hide').click(function(event) {
    event.preventDefault();

    var $ele = $('section#newsletters nav');
    var toHeight = ((toggle = !toggle) ? oldHeight : 20);

    oldHeight = $ele.height();
    $ele.animate({ height: toHeight });

});
其中“20”是向上滑动时切换到的高度(以像素为单位)


小提琴:

您必须创建自己的开关。简单明了:

var toggle = true, oldHeight = 0;

$('section#newsletters .hide').click(function(event) {
    event.preventDefault();

    var $ele = $('section#newsletters nav');
    var toHeight = ((toggle = !toggle) ? oldHeight : 20);

    oldHeight = $ele.height();
    $ele.animate({ height: toHeight });

});
其中“20”是向上滑动时切换到的高度(以像素为单位)


小提琴:

这次讨论促使我为一个几乎相同的问题找到了解决方案。下面是我所用的,我相信你需要的

可以使用三元运算符设置高度变量,然后仅在animate()上使用该变量。可以为animate()设置更多选项我只包括高度。您可以使用相同的方法更改显示/隐藏文本

$('section#newsletters .hide').click(function() {
  $(this).text($(this).text() == 'Show' ? 'Hide' : 'Show');
  var height = $('section#newsletters nav').height() == '[original height]' ? '[new height]' : '[original height]';
  $('section#newsletters nav').animate({height:height};
});
例如,如果你想从50px到100px再回到50,你可以:

$('section#newsletters .hide').click(function() {
  $(this).text($(this).text() == 'Show' ? 'Hide' : 'Show');
  var height = $('section#newsletters nav').height() == '50' ? '100' : '50';
  $('section#newsletters nav').animate({height:height};
});

这次讨论促使我为一个几乎相同的问题找到了解决方案。下面是我所用的,我相信你需要的

可以使用三元运算符设置高度变量,然后仅在animate()上使用该变量。可以为animate()设置更多选项我只包括高度。您可以使用相同的方法更改显示/隐藏文本

$('section#newsletters .hide').click(function() {
  $(this).text($(this).text() == 'Show' ? 'Hide' : 'Show');
  var height = $('section#newsletters nav').height() == '[original height]' ? '[new height]' : '[original height]';
  $('section#newsletters nav').animate({height:height};
});
例如,如果你想从50px到100px再回到50,你可以:

$('section#newsletters .hide').click(function() {
  $(this).text($(this).text() == 'Show' ? 'Hide' : 'Show');
  var height = $('section#newsletters nav').height() == '50' ? '100' : '50';
  $('section#newsletters nav').animate({height:height};
});

当我点击它时,其他内容位于此上方,但我猜这与CSS有关…扩展高度也可能不同…它不会总是1000px当我点击它时,其他内容位于此上方,但我猜这与CSS有关…扩展高度也可能不同…它不会总是1000px你的意思是默认情况下,您希望将其隐藏?是的,请。目前它是从全高开始的,我希望它是从初始高度开始的,比如说200或其他什么高度。它返回的高度。您的意思是默认情况下要隐藏它?是的。目前它是从全高开始的,我希望它是从初始高度开始的,比如说200或其他什么高度。它返回到的高度。