.show()不会改变效果或方向

.show() wont change effect or direction

本文关键字:方向 改变 show      更新时间:2023-09-26

我有一些div正在使用JQuery .show().hide()函数,但我无法更改效果/方向。

HTML

<li><a class="link" name="box1">HOME</a></li>
<li><a class="link" name="box2">ABOUT ME</a></li>
<div id="box1">
  SOME CONTENT
</div>
<div id="box1">
  SOME CONTENT
</div>

JavaScript

$(".link").click(function(){
    $('.container').hide();
    $('#'+$(this).attr('name')).show();   
});

简单地使用.show().hide()似乎是可行的。.show('slide')也起作用。然而.show('fold').show('blind')没有。也不会尝试更改动画的方向/速度。例如:

$(".link").click(function(){
    $('.container').hide('slide', {direction:'up'}, 1000);
    $('#'+$(this).attr('name')).show('slide', {direction: 'up'}, 1000);   
});

重要的是,它首先显示div的底部,这就是我不使用.slideDown函数的原因。

尝试查看文档和在线教程,但找不到为什么它不起作用。

对于"增强"的动画效果,您必须包括jQuery UI库(或者可能只是动画核心的特定实现)。

show():的API页面

从jQuery 1.4.3开始,可以使用命名缓和函数的可选字符串。缓和功能指定动画在动画中不同点处进行的速度。jQuery库中唯一简单的实现是默认的,称为swing,以及一个以恒定速度进行的实现,称为linear。使用插件可以获得更多的轻松功能,最显著的是jQueryUI套件。

因此,"just"jQuery可用的命名动画是"linear"answers"swing"包括jQueryUI打开了其他几个(链接是因为转录它们似乎毫无意义)。

从CDN链接到谷歌托管的jQuery UI:

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>

参考文献:

  • 谷歌的CDN代码库
  • show()