基于 Class 名称的动画元素(许多项目共享相同的 class)
Animate Element Based On Class Name (many items are sharing the same class)
我有一个在线商店,我需要添加一个动画,以便在用户单击 "Add to cart" 时将产品图像移动到购物车框,问题是每当我单击 "Add to cart"动画将应用于所有产品。
HTML(这是一项HTML,其他项都一样):
$(document).ready(function() {
$(".addToCart").click(function() {
$(".proImage").animate({
left: '250px',
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="items">
<img src="#" class="proImage">
<a href="#" class="btnorange addToCart">Add to Cart</a>
</div>
如何让动画只应用于选定的产品。
你应该去父级并使用 this
关键字和 parent()
方法选择相关的 img
:
$(this).parent().find(".proImage").animate({
left: '250px',
});
您也可以使用 closest()
,例如:
$(this).closest('div').find(".proImage").animate({
left: '250px',
});
使用 prev()
方法对您的情况有两种作用:
$(this).prev(".proImage").animate({
left: '250px',
});
$(document).ready(function() {
$(".addToCart").click(function(e) {
e.preventDefault();
$(this).prev(".proImage").animate({
left: '250px',
});
});
});
.proImage {
position: relative;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="items">
<img src="https://png.icons8.com/ios/2x/product.png" class="proImage">
<a href="#" class="btnorange addToCart">Add to Cart</a>
</div>
<div class="items">
<img src="https://png.icons8.com/ios/2x/product.png" class="proImage">
<a href="#" class="btnorange addToCart">Add to Cart</a>
</div>
<div class="items">
<img src="https://png.icons8.com/ios/2x/product.png" class="proImage">
<a href="#" class="btnorange addToCart">Add to Cart</a>
</div>
你可以这样使用:
$(document).ready(function(){
$(".addToCart").click(function(){
$(this).siblings('.proImage').animate({
left: '250px',
});
});
});
我有一个在线商店,我需要添加一个动画,以便在用户单击 "Add to cart" 时将产品图像移动到购物车框,问题是每当我单击 "Add to cart"动画将应用于所有产品。
HTML(这是一项HTML,其他项都一样):
$(document).ready(function() {
$(".addToCart").click(function() {
$(".proImage").animate({
left: '250px',
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="items">
<img src="#" class="proImage">
<a href="#" class="btnorange addToCart">Add to Cart</a>
</div>
如何让动画只应用于选定的产品。
你应该去父级并使用 this
关键字和 parent()
方法选择相关的 img
:
$(this).parent().find(".proImage").animate({
left: '250px',
});
您也可以使用 closest()
,例如:
$(this).closest('div').find(".proImage").animate({
left: '250px',
});
使用 prev()
方法对您的情况有两种作用:
$(this).prev(".proImage").animate({
left: '250px',
});
$(document).ready(function() {
$(".addToCart").click(function(e) {
e.preventDefault();
$(this).prev(".proImage").animate({
left: '250px',
});
});
});
.proImage {
position: relative;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="items">
<img src="https://png.icons8.com/ios/2x/product.png" class="proImage">
<a href="#" class="btnorange addToCart">Add to Cart</a>
</div>
<div class="items">
<img src="https://png.icons8.com/ios/2x/product.png" class="proImage">
<a href="#" class="btnorange addToCart">Add to Cart</a>
</div>
<div class="items">
<img src="https://png.icons8.com/ios/2x/product.png" class="proImage">
<a href="#" class="btnorange addToCart">Add to Cart</a>
</div>
你可以这样使用:
$(document).ready(function(){
$(".addToCart").click(function(){
$(this).siblings('.proImage').animate({
left: '250px',
});
});
});