我对js比较新,我正在尝试在我的投资组合中实现一个简单的.animate()功能。正如你所看到的那样here,我写的代码就是带有完美滑动的div,但似乎忽略了脚本中的“else”部分。
我知道我可能犯了一个愚蠢的错误,但我现在似乎无法解决任何问题!
抱歉我的英语不好,很难成为意大利语。
答案 0 :(得分:3)
只是在一分钟之前想出了另一个这样的解决方案。
基本上,您将该值乘以1或-1,然后切换该值。
$(document).ready(function() {
var direction = -1;
$('#toggle').click(function() {
direction -= direction * 2;
$('#ribbon').animate({
marginTop: "+=" + direction * 300 + "px"
}, 1700);
return false;
});
});
或更好:http://jsfiddle.net/HF5A5/1/
$(document).ready(function() {
var direction = 1;
$('#toggle').click(function() {
$('#ribbon').animate({
marginTop: "+=" + direction * 300 + "px"
}, 1700, function(){
$(this).stop();
direction -= direction * 2;
});
return false;
});
});
答案 1 :(得分:2)
只需拿走你所拥有的内容,只需将if
放在click
事件中。
$(document).ready(function() {
$('#toggle').click(function() {
if ($('#ribbon').css("margin-top") == "-300px") {
$('#ribbon').animate({
marginTop: "0px"
}, 1700);
} else {
$('#ribbon').animate({
marginTop: "-300px"
}, 1700);
}
});
});