切换动画潜水按钮点击
Toggle Animate Div on Button Click
我想在单击按钮时切换div的边距动画,但似乎不起作用。这是代码和小提琴链接。我在之前的一篇帖子中找到了解决方案,但仍然无法正确处理。
$('button').click(function () {
if ($('.demo').css('margin-top') == '0') {
$('.demo').animate({
marginTop: '-160px'
}, 1000);
} else {
$('.demo').animate({
marginTop: '0'
}, 1000);
}
});
Fiddle
感谢的帮助
此处Margin-top
返回px
中的值,因此
像下面的一样做出决定
if ($('.demo').css('margin-top') == '0px') {...}
而不是
if ($('.demo').css('margin-top') == '0') {..}
DEMO
您只需要比较margin-top
和0px
,而不是仅比较0
,请参阅以下代码:
$('button').click(function () {
if ($('.demo').css('margin-top') == '0px') {
$('.demo').animate({
marginTop: '-160px'
}, 1000);
} else {
$('.demo').animate({
marginTop: '0'
}, 1000);
}
});
演示
最好用类而不是margin-top
来检查元素的状态。例如,当用户立即在button
上单击多次时,您的代码将表现出奇怪的行为。试试这样的东西:
$('button').click(function () {
if (! $('.demo').hasClass('done')) {
$('.demo').addClass('done');
$('.demo').stop().animate({
marginTop: '-160px'
}, 1000);
} else {
$('.demo').removeClass('done');
$('.demo').stop().animate({
marginTop: '0'
}, 1000);
}
});
jsFiddle演示。
请用更新第一个条件
if ($('.demo').css('margin-top') == '0px') {
此处更新Fiddle
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 多个单选按钮组相互干扰
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Javascript按钮下拉列表
- jquery试图按名称获取按钮位置
- 潜水器上的粘性按钮
- Javascript”;下一个“;“带复选框的按钮”;显示隐藏潜水”;
- 如何使用按钮显示/隐藏潜水
- 只显示潜水时悬停按钮X时间-可以'我不能使它正常工作
- 垂直居中使用Javascript的按钮潜水
- 我如何用按钮控制跳跃潜水器的运动
- 点击按钮显示/隐藏JQuery的特定潜水
- 所有潜水都可见后隐藏按钮
- 如果显示隐藏潜水,禁用单选按钮
- 我如何制作一个完整的潜水按钮
- 切换动画潜水按钮点击
- 点击按钮时显示一个潜水和隐藏另一个潜水
- 当点击打开按钮时,潜水器打开和关闭
- 我如何显示和隐藏潜水按钮点击在html css技巧