隐藏后文本显示缓慢

时间:2012-01-13 14:17:20

标签: jquery jquery-ui

我修改了w3schools - Hide paragraph中的代码,以包含一个显示按钮,显示文本需要6秒钟。隐藏文本后,文本开始重新显示大约需要3秒钟,是否有原因?这是我修改过的代码(只需将此代码粘贴到w3schools上的“隐藏段落”URL):

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#hide").click(function(){
    $("p").hide(3000);
  });
  $("#show").click(function(){
    $("p").show(6000);
  });
});
</script>
</head>
<body>
<button id = "hide">Hide</button>
<button id = "show">Show</button>
<p>This is a paragraph with little content.</p>
<p>This is another small paragraph.</p>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

我认为这与你使用的宽松有关。尝试

$(document).ready(function(){
  $("#hide").click(function(){
    $("p").hide(3000);
  });
  $("#show").click(function(){
    $("p").show(6000, 'linear');
  });
});

在这里摆弄http://jsfiddle.net/HhubD/

正如您在doc show()中所读到的那样,有一个缓动参数

 .show( [duration] [, easing] [, callback] )
  

从jQuery 1.4.3开始,可以使用命名缓动函数的可选字符串   使用。缓动函数指定动画的速度   在动画中的不同点上进展。唯一的宽松政策   jQuery库中的实现是默认的,称为swing,   并且以恒定的速度前进,称为线性。更轻松   函数可以使用插件,最值得注意的是   jQuery UI套件。

可能是“Swing”缓和,默认情况下开始时速度较慢,然后加速

答案 1 :(得分:-1)

它是因为30006000参数的hideshow参数。那些告诉方法动画应该持续多长时间。尝试降低值; 1000 = 1秒。