【发布时间】:2010-02-12 02:38:21
【问题描述】:
我有一个 div。 div 内部是另一组 div,每个 div 都包含一个 img。我正在尝试设置一个鼠标悬停,使当前的 img 使用 .hover() 和 .animate() 展开。我希望代码确定它是横向还是纵向图像,然后将其扩展为宽度或高度,以不超过包含 div 的范围。
这是准备好的文档内的代码。
$('.clGalleryImage').hover(function() {
$varHeight = $('.clGalleryImage:hover').height();
$varWidth = $('.clGalleryImage:hover').width();
if($varHeight > $varWidth) {
$('.clGalleryImage:hover').animate({marginTop:0, height:125}, 'slow');
} else {
$('.clGalleryImage:hover').animate({marginLeft:0, width:125}, 'slow');
}
}, function() {
...
});
.hover 的 handlerOut 部分不完整,因此请忽略它。问题出在 handlerIn 上。当我将鼠标悬停在纵向的 img 上时,该功能效果很好。图像的宽度和高度按比例增长,并在包含 div 的边界处停止增长。但是,当我将鼠标悬停在景观 img(上面代码中的 else)上时,它只会按比例增长,而不是按比例增长。这是设计的吗?
如果这是一个新手问题,我深表歉意,但它一直困扰着我一整天。最终,我将其编码为围绕我选择的图像手动工作。我宁愿代码与图像的任何比例一起工作,然后在使用它之前必须编辑图像。
谢谢
我想我应该包括 div 和 CSS。
div
<div class="clGalleryImageContainer">
<img class="clGalleryImage" src="/New/Images/Molds/Molds001_th.jpg" alt="Mold Gallery Image 001" title="This is some description Text." />
</div>
CSS
.clGalleryImage { display:block; height:100px; margin-left:auto; margin-right:auto; margin-top:12px;}
.clGalleryImageContainer { position:relative; float:left; width:150px; height:125px; border: 1px solid white; background-color:black; margin-top:12px; margin-left:21px; margin-bottom:12px;}
【问题讨论】:
标签: jquery