Javascript jQuery-如何根据类获取元素的动态宽度
我有这个基本的动画,其中包括两个div。一个div的类为Javascript jQuery-如何根据类获取元素的动态宽度,javascript,jquery,html,css,jquery-animate,Javascript,Jquery,Html,Css,Jquery Animate,我有这个基本的动画,其中包括两个div。一个div的类为single,另一个div的类为double。每个都有一个39px的高度 .single元素的宽度为100px,double元素的宽度为200px,但是,我从开始,singlediv为50px,double为100px,然后,使用jQuery,我(希望)根据每个div的类将其设置为宽度。这有点难以解释,因此我将向您展示代码格式: HTML: jQuery: 我只想这样做: $("#block").animate({ height:
single
,另一个div的类为double
。每个都有一个39px的高度
.single
元素的宽度为100px,double元素的宽度为200px,但是,我从开始,single
div为50px,double为100px,然后,使用jQuery,我(希望)根据每个div的类将其设置为宽度。这有点难以解释,因此我将向您展示代码格式:
HTML:
jQuery:
我只想这样做:
$("#block").animate({
height: "39px"
});
$("#block.single").animate({
width: "100px"
});
$("#block.single").animate({
width: "200px"
});
但是在设置#block.double
动画之前,它会设置#block.single
动画,我希望同时设置它们的动画
任何帮助都将不胜感激,我已经准备好了。呵呵。ID必须是唯一的,您可以改用类,试试下面的方法
<div class="block red single"></div>
<div class="block blue double"></div>
这意味着您不应该为多个元素使用ID。哦,我明白了。因此,我是否可以使用
if($(“div”).hasClass(“…”){…}
?是的,您还可以向div元素添加类块,并使用类选择器选择它们。但它并不能解决这个问题。不,在设置id=“block1
动画之前,它会设置id=“block2”动画“
。好吧,这比我之前经历的要好,但请注意它是如何在设置两个元素的宽度之前设置高度动画的?我希望所有的动画都同时出现。我想知道是否有专门的方法,比如在width对象中使用条件语句,而不是使用基本的jQuery语法,因为它并没有真正实现我希望实现的功能。或者使用条件语句动态添加相应的width变量。哈哈!对天哪,这太简单了。我想当我在某件事情上工作太久的时候就会发生这种情况。非常感谢。
if($("#block").hasClass("double")) {
respectiveWidth = "200px"
}
if($("#block").hasClass("single")) {
respectiveWidth = "100px"
}
$("#block").delay(delayRate).animate({
height: "145px",
width: respectiveWidth
}, 900);
$("#block").animate({
height: "39px"
});
$("#block.single").animate({
width: "100px"
});
$("#block.single").animate({
width: "200px"
});
<div class="block red single"></div>
<div class="block blue double"></div>
$(".block").animate({
height: "39px"
});
$(".block.single").animate({
width: "100px"
}, 700);
$(".block.double").animate({
width: "200px"
}, 700);