在悬停时将 class 添加到该特定子项,而不影响具有相同 class 的其他 div
Add class to that specific child on hover without affecting others divs with same class
现在我有一个图像网格(通过 bootstrap 设置)。悬停时,图像会变大一点,并改变不透明度。但是,我刚才提到的效果会应用于所有图标。虽然我知道我可以通过让每个图标都有自己的 ID 或其他东西来解决这个问题,但这似乎没有必要。
$('.icon').hover(
function(){
/* Add 'activeIcon' class to specific img element nested in the div with the 'icon' class */
$('.activeIcon').animate({
width: "225px",
height: "225px",
opacity: 1,
left: "-10px",
top: "50px"
}, 300);
},
function(){
$('.activeIcon').animate({
width: "200px",
height: "200px",
opacity: 0.5,
left: "0px",
top: "50px"
}, 300);
/*Remove that class from that img */
});
简要说明 html 的样子 -
<div class="col-sm-3">
<div class="icon">
<img src="http://placehold.it/200x200">
<p>title of this thing</p>
</div>
</div>
基本上是一堆连续的,都带有图标 class。将动画应用于图标 class 将为所有 div 设置动画。我的问题是如何让它隔离我鼠标悬停的那个。
无关,但如果有人知道为什么有时由悬停(基本上是鼠标 enter/exit)触发的动画会触发多次(有时无限期),我将不胜感激。可能是我的浏览器之类的,在 Fiddle 中工作正常。
试试这个:
$('.icon').hover(
function() {
/* Add 'activeIcon' class to specific img element nested in the div with the 'icon' class and animate it */
var $icon = $(this);
$icon.find('img')
.addClass('activeIcon')
.animate({
width: "225px",
height: "225px",
opacity: 1,
left: "-10px",
top: "50px"
}, 300);
},
function() {
/* Animate the 'activeIcon' image and remove the class */
var $icon = $(this);
$icon.find('img.activeIcon')
.animate({
width: "200px",
height: "200px",
opacity: 0.5,
left: "0px",
top: "50px"
}, 300)
.removeClass('activeIcon');
}
);
现在我有一个图像网格(通过 bootstrap 设置)。悬停时,图像会变大一点,并改变不透明度。但是,我刚才提到的效果会应用于所有图标。虽然我知道我可以通过让每个图标都有自己的 ID 或其他东西来解决这个问题,但这似乎没有必要。
$('.icon').hover(
function(){
/* Add 'activeIcon' class to specific img element nested in the div with the 'icon' class */
$('.activeIcon').animate({
width: "225px",
height: "225px",
opacity: 1,
left: "-10px",
top: "50px"
}, 300);
},
function(){
$('.activeIcon').animate({
width: "200px",
height: "200px",
opacity: 0.5,
left: "0px",
top: "50px"
}, 300);
/*Remove that class from that img */
});
简要说明 html 的样子 -
<div class="col-sm-3">
<div class="icon">
<img src="http://placehold.it/200x200">
<p>title of this thing</p>
</div>
</div>
基本上是一堆连续的,都带有图标 class。将动画应用于图标 class 将为所有 div 设置动画。我的问题是如何让它隔离我鼠标悬停的那个。
无关,但如果有人知道为什么有时由悬停(基本上是鼠标 enter/exit)触发的动画会触发多次(有时无限期),我将不胜感激。可能是我的浏览器之类的,在 Fiddle 中工作正常。
试试这个:
$('.icon').hover(
function() {
/* Add 'activeIcon' class to specific img element nested in the div with the 'icon' class and animate it */
var $icon = $(this);
$icon.find('img')
.addClass('activeIcon')
.animate({
width: "225px",
height: "225px",
opacity: 1,
left: "-10px",
top: "50px"
}, 300);
},
function() {
/* Animate the 'activeIcon' image and remove the class */
var $icon = $(this);
$icon.find('img.activeIcon')
.animate({
width: "200px",
height: "200px",
opacity: 0.5,
left: "0px",
top: "50px"
}, 300)
.removeClass('activeIcon');
}
);