0

工具提示不适用于while循环所有图标都向我显示第一个图标的信息只有这里是php

$check = odbc_exec($conn,"select * from Item");
while($r = odbc_fetch_array($check)){
$info = $r['Info'];
$Image = $r['image'];
echo  "<span class='hint'><img src='$Image'></span>
<div class='readitem' style='display:none'>$info</div>";

}

jquery:工具提示

<script type="text/javascript">
$(document).ready(function() {
    var changeTooltipPosition = function(event) {
      var tooltipX = event.pageX - 10;
      var tooltipY = event.pageY + 10;
      $('div.tooltip').css({top: tooltipY, left: tooltipX});};
    var showTooltip = function(event) {
    var item = $('.readitem').html();

      $('<div class="tooltip"><center>'+ item + '</center></div>').appendTo('body');
      changeTooltipPosition(event);
    };
    var hideTooltip = function() {
       $('div.tooltip').remove();
    };
    $(".hint").bind({
       mousemove : changeTooltipPosition,
       mouseenter : showTooltip,
       mouseleave: hideTooltip
    });
});

</script>

任何解决方案?

谢谢你 ..

4

2 回答 2

1

我从未见过没有条件的while循环。你的while循环应该像

while (condition) {
    //your code
}

其中 condition 是一个被评估为真或假的表达式。但是,在您的情况下,您可能有一组图标 URL。您应该使用更方便在数组中循环的 for 循环。

for ($i = 0; $i < count($images); $i++) {
    echo $images[$i]; // Assuming $images is an array.  
}
于 2012-09-20T14:57:34.647 回答
0

是线路有问题var item = $('.readitem').html();

当您这样做$('.readitem')时,它将匹配页面上具有该类的所有元素。然后调用.html()它时,它将返回第一个匹配元素的 html(因此总是向您显示第一个)。

相反,您需要做的是查看.hint您悬停的位置,以找到兄弟姐妹.readitem,然后使用该兄弟的 html。

所以,这应该起作用:

var item = $(this).siblings('.readitem').html();

$(this)应该是.hint您悬停的实例,因此您试图.readitem在它的兄弟元素中找到 。

于 2012-09-20T13:41:43.583 回答