向此 jQuery 脚本添加动画
Adding animation to this jQuery script
有一个相当简单的 show/hide 脚本,用于通过按钮设置一组数据过滤器。我一直在寻找有关如何为过渡设置动画的解决方案,但似乎看不出此脚本与 jQuery 网站上描述的内容有何不同。
我在其他地方读到 CSS3 动画可能更简单或更好,但这对我来说仍然是个谜。
这个脚本有没有简单的修改:
$('.toggle').click(function (event) {
event.preventDefault();
var target = $(this).attr('href');
$(target).toggleClass('hidden show');
});
我不确定你要找什么动画,但我在这里使用了 slideToggle()
(http://api.jquery.com/slidetoggle/) using some of the code you've provided: https://jsfiddle.net/8gavvmnL/1/
HTML:
<a class="toggle" href="#pop">Click Me</a>
<div id="pop">
I'm hidden until the button is clicked!
</div>
jQuery:
$("#pop").hide();
$('.toggle').click(function (event) {
event.preventDefault();
var target = $(this).attr('href');
$(target).slideToggle();
});
您可以使用 built-in toggleX 方法(例如 toggle()
and slideToggle()
),而不是更改 类。
如果您想做一些更花哨的事情,例如动画颜色,您需要查看 animate
方法并可能包括 jquery-ui,这是css3 转换可能更容易/开销更少,除非您已经包含 jquery-ui.
$("#toggle").click(function() {
$("#target").toggle(500);
});
$("#slide").click(function() {
$("#target").slideToggle(500);
});
基本fiddle:https://jsfiddle.net/t2j03v6d/
$('.target').on( 'click', function () {
var $stuff = $(this).find('.stuff');
if ( $stuff.is(':visible') ) {
$stuff.slideUp('slow');
} else {
$stuff.slideDown('slow');
}
});
.target .stuff {
display: none;
height: 400px;
background-color: #F00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul>
<li class="target">
Show/Hide
<div class="stuff"></div>
</li>
</ul>
有一个相当简单的 show/hide 脚本,用于通过按钮设置一组数据过滤器。我一直在寻找有关如何为过渡设置动画的解决方案,但似乎看不出此脚本与 jQuery 网站上描述的内容有何不同。
我在其他地方读到 CSS3 动画可能更简单或更好,但这对我来说仍然是个谜。
这个脚本有没有简单的修改:
$('.toggle').click(function (event) {
event.preventDefault();
var target = $(this).attr('href');
$(target).toggleClass('hidden show');
});
我不确定你要找什么动画,但我在这里使用了 slideToggle()
(http://api.jquery.com/slidetoggle/) using some of the code you've provided: https://jsfiddle.net/8gavvmnL/1/
HTML:
<a class="toggle" href="#pop">Click Me</a>
<div id="pop">
I'm hidden until the button is clicked!
</div>
jQuery:
$("#pop").hide();
$('.toggle').click(function (event) {
event.preventDefault();
var target = $(this).attr('href');
$(target).slideToggle();
});
您可以使用 built-in toggleX 方法(例如 toggle()
and slideToggle()
),而不是更改 类。
如果您想做一些更花哨的事情,例如动画颜色,您需要查看 animate
方法并可能包括 jquery-ui,这是css3 转换可能更容易/开销更少,除非您已经包含 jquery-ui.
$("#toggle").click(function() {
$("#target").toggle(500);
});
$("#slide").click(function() {
$("#target").slideToggle(500);
});
基本fiddle:https://jsfiddle.net/t2j03v6d/
$('.target').on( 'click', function () {
var $stuff = $(this).find('.stuff');
if ( $stuff.is(':visible') ) {
$stuff.slideUp('slow');
} else {
$stuff.slideDown('slow');
}
});
.target .stuff {
display: none;
height: 400px;
background-color: #F00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul>
<li class="target">
Show/Hide
<div class="stuff"></div>
</li>
</ul>