簡體   English   中英

jquery Hover和while循環

[英]jquery Hover and while loop

我有一個帶有while循環的php表來顯示記錄。

我添加了一個jQuery懸停處理程序來執行此操作,如果懸停它在同一行顯示一條消息,但問題是,如果懸停它在所有行中顯示一條消息。

這是css:

<style>
  .tansa{
    position: absolute;
    margin-right: -60px;
    margin-top:-25px;
    background: #CBDFF3; border: 1px solid #4081C3; font-size: 0.88em;
    padding: 2px 7px; display: inline-block;
    border-radius: 8px; -moz-border-radius: 8px; -webkit-border-radius: 8px;
    line-height: 1.2em; 
    text-shadow: 0 0 0em #FFF;
    overflow: hidden;
    text-align: center;
    color:black;
    display:none;
  }

  .arrow{ 
    position: relative;
    width: 0;
    height: 0;
    top: -25px;
    border-top: 5px solid #000000;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    display:none;
  }
</style>

這是我的PHP:

<table><tr>row</tr>
<?php
$results = mysql_query("select * from MyTable");
while{$r = mysql_fetch_array($results)){
echo "<tr><td>Row : <img src='img/tans.png' width='24' height='24' class='tansef' /><span      class='tansa' >the message</span><div class='arrow'></div></td></tr>";
}
?>
</table>

這是jquery

$(document).ready(function(){
  $('.tansef').hover(function(){
    var sh = $('.tansa');
    var sharrow = $('.arrow');
    sh.show();
    sharrow.show();
  }, function(){
    var shs = $('.tansa');
    var sharrows = $('.arrow');
    shs.hide();
    sharrows.hide();
  });
});

任何只在每一行顯示消息的解決方案?

嘗試改變:

var sh = $('.tansa');
var sharrow = $('.arrow');

至:

var sh = $(this).siblings('.tansa');
var sharrow = $(this).siblings('.arrow');

(以及等效的shs和sharrows變量)。 您的代碼引用了具有特定類的所有元素,而不是相對於使用this元素懸停的元素。

jsFiddle例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM