我正在一个网站上工作,每行有2个div,每个占45%。我想设置它,这样如果你将鼠标悬停在DIV上,那么该行中的另一个DIV会随着悬停的DIV扩展而缩小,然后当悬停离开时它们会恢复。缩小的DIV可以在行中悬停的DIV之前或之后,这就是我被卡住的地方。
HTML将在下面,一遍又一遍地重复:
<div class="row">
<div class="cell upcoming">
<img src="stills/press/press-logo-gdc2013.jpg" class="general"><p class="one">Panelist - Game Developers Conference 2013</p>
<p class="two">[Panel Name TBD]</p>
<p class="three"><b>Panel Date/Location:</b> [TBD] on March 25-29, 2013 at GDC (San Francisco, California)</p>
<p class="three"><b>Panelists:</b> [TBD]</p>
<p class="three"><b>Panel Blurb:</b> [TBD]</p>
</div>
<div class="cell upcoming">
<img src="stills/press/press-logo-wizard-world-st-louis.jpg" class="general"><p class="one">Panelist - Wizard World St. Louis 2013</p>
<p class="two">[Panel Name TBD]</p>
<p class="three"><b>Panel Date/Location:</b> [TBD] on March 22-24, 2013 at Wizard World (St. Louis, Missouri)</p>
<p class="three"><b>Panelists:</b> [TBD]</p>
<p class="three"><b>Panel Blurb:</b> [TBD]</p>
</div>
</div>
“row”没有CSS,但“cell”的CSS是
div.cell { position:relative; margin:2px; float:left; width:45%; text-align:justify; vertical-align:top; border:2px solid; padding:10px; border-radius:25px; -moz-border-radius:25px; }
并且部分JQUERY是这样的:
$('.cell')
.on('mouseenter', function(){
$(this).animate ({width:"75%"},"slow);
})
.on('mouseleave', function(){
$(this).animate ({width:"45%"},"slow);
});
当然,我希望“行”中的另一个“单元格”(左边或右边)缩小,另一个正在增长,但我不知道如何确定“其他DIV”的标识符在那一行“或同时获得2件动画。
非常感谢帮助!
答案 0 :(得分:1)
在这种情况下,您可以使用siblings()
来获取其他.cell
元素。
$('.cell')
.on('mouseenter', function(){
$(this).animate ({width:"75%"},"slow").siblings('.cell').animate({'width': '15%'}, "slow");
})
.on('mouseleave', function(){
$(this).add($(this).siblings('.cell')).animate ({width:"45%"},"slow");
});
答案 1 :(得分:0)