我对 jquery 中的函数有一点问题。每次用户悬停产品时,我都需要显示一个弹出窗口。我的产品在一个列表中,我想为每个产品指定一个弹出窗口,以显示它的标题和描述:
这是产品列表(以缩略图显示)
<!-- This Div contains the List of Products -->
<ul class="thumbnails">
@foreach (var thumbnail in Model.ForfaitsInThumbNail)
{
<div class="thumbnail">
<img src= "@Url.Action("GetById", "ImageForfait", new { idForfait = thumbnail.Forfait.Id })" alt=""/>
<div class="caption">
<h2 class="fontTitle">@thumbnail.Forfait.Titre</h2> <h5 class="fontYearHijri"> pour l'année @thumbnail.Forfait.AnneeHijri H </h5>
.......
</div>
<!-- This div should contain the pop-up for every Product -->
<div class='pop-up' id='pop-up'> <h3>"@thumbnail.Forfait.Titre"</h3><p>"@thumbnail.Forfait.Description"</p></div>
</div>
</div>
}
</ul>
这是我糟糕的jquery 函数,它只适用于一个产品,而不是所有的产品都在一个列表中
<script>
$('.thumbnail').each(function() {
$(this).hover(function (e) {
$('.pop-up').show()
.css('top', e.pageY + 20)
.css('left', e.pageX + 10)
.appendTo('body');
}, function () {
$('.pop-up').hide();
});
});
$('.thumbnail').each(function() {
$('.thumbnail').mousemove(function(e) {
$(".pop-up").css('top', e.pageY + 20).css('left', e.pageX + 10);
});
});
这个函数没有错误,但是它只显示最后一个产品的弹出窗口,这似乎是逻辑,因为它无法识别指定产品的div。所以我的问题是,我怎样才能像我想要的那样实现这个功能(每个产品的特殊弹出窗口)?有任何想法吗 ?谢谢你 :)