这个jquery函数工作正常,但我想介绍“if”。如果再次单击并且高度为40,则height = auto
$(document).ready(function() {
$(".admintitle").click(function() {
$(".1").animate({height:40});
$('.admintitle').css('background-position', '0px 0px');
});
});
答案 0 :(得分:2)
使用$(".1").width()
和$(".1").height()
并将其与您的值进行比较。
$(document).ready(function() {
$(".admintitle").click(function() {
if ($(".1").width() === 40 && $(".1").height() === 140); {
$(".1").animate({height:40});
$('.admintitle').css('background-position', '0px 0px');
}
});
});
答案 1 :(得分:1)
动画到auto
高度不起作用,因为动画仅使用数值
$(document).ready(function () {
var flag = false;
$(".admintitle").click(function () {
if (flag) {
$(".1").height('auto');
} else {
$(".1").animate({
height: 40
});
}
$('.admintitle').css('background-position', flag ? '0px -20px' : '0px 0px');
flag = !flag;
});
});
演示:Fiddle
另一种解决方案是使用计算高度,如果元素具有固定高度
$(document).ready(function () {
var $1 = $(".1"),
$title = $(".admintitle"),
flag = false,
height = $1.height();
$title.click(function () {
$1.animate({
height: flag ? height : 40
});
$('.admintitle').css('background-position', flag ? '0px -20px' : '0px 0px');
flag = !flag;
});
});
演示:Fiddle