好了,所以我有<table>
这里面有<tr>
的定义上方(浅灰/灰/黄..)
现在我想让你把鼠标悬停在一个盒子上时,你会看到一个deletebutton。
我已分别<tr>
内做到了这一点通过(每个箱子里面)有这样的:
<td id="delPMicon<?php echo $id; ?>" style="display: none;">
<img src="images/removeWallComment.png">
</td>
然后,我得到这个:
$('[name=pm]').hover(function() {
var id = $(this).attr('id');
$('#delPMicon'+ id).show();
});
名= “PM” 是每名<tr>
。
这工作正常,但当我标记在其中一个框中,它会变成你如何看到上面。内容被移动到左边,然后就会出现。我不想要这个。我希望它像图像的顶部,然后当你标记结束时,就会出现一个del按钮,在桌子上没有任何变化,并且不会变得如此丑陋,就像你在上面看到的那样,当我悬停其他盒子时变小?
我该怎么做?
这里是我的<tr>
<tr
<?php
if($type == "invitation"){
echo 'class="pmInvitation"';
}else{
echo $checkSeen; }?> id="<?php echo $id; ?>" name="pm">
<td class="alternating" style="padding:4px;">
<img border="0" class="image-xxsmall-border" src="images/profilePhoto/thumbs/<?php echo profilbild($bID); ?>" style="width: 44px; height: 48px;">
</td>
<td valign="top" style="padding-top:4px;padding:4px;" class="alternating">
<a href="profil.php?id=<?php echo $bID; ?>"><?php echo $name; ?></a>
<br />
<span title="forsendelses dato" class="GrayText"><?php get_time($date); ?>
<?php if(!(get_day_name_return($date) == "idag")){
echo "<br>". get_day_name_return($date); }?></span>
</td>
<td valign="top" style="padding-top:4px;padding:4px;" class="alternating">
</td>
<td valign="top" style="padding-top:4px;padding:4px;" class="alternating">
<a href="pm.php?read=<?php echo $id; ?>">
<?php echo $title; ?></a>
<br />
<span style="font-size: 11px; font-style: italic;">
<a href="pm.php?read=<?php echo $id; ?>">
<?php echo substr($msg, 0, 46); ?>..
</a>
</span>
</td>
<td style="padding-right:4px;padding:4px;" class="alternating">
<input class="cbPick" name="marks[]" type="checkbox" value="<?php echo $id; ?>">
</td>
<td id="delPMicon<?php echo $id; ?>" style="display: none;">
<img src="images/removeWallComment.png">
</td>
</td>
</tr>
我甚至试图删除显示:没有#delPMicon,去掉IMG,然后悬停它应该在前面加上IMG,这个工作小有一点,但文本中中间和左边被移动到更多的左边,它为它提供了一些空间给delbutton,但是有足够的空间,我能看到什么?
你好,谢谢你的回答。这解决了它完美。有一个关于你最后一句话的问题。你认为我的编码是sl//丑陋的? – Johnson 2010-11-01 19:42:26
注释中没有足够的空间来列出具体细节,但这里有一些要点:保持缩进清晰并保持逻辑一致 - 您的代码非常难以遵循。不要使用内联样式(style =“”attributes) - 而是设置一个css类并在样式表中定义规则。不要在行上使用“name”属性,使用css类并使用$('。class-name')进行选择。最后,看起来你正在将过多的业务逻辑融入到视图中 - 尝试将关注点分开一点。 – 2010-11-01 19:55:30
另外,您用javascript编写JavaScript的整个方法设计不佳。不必为行或删除图像本身提供任何ID。相反,只需在删除图像(例如'delete-image')上设置一个css类,然后在jQuery代码中,您可以简单地将它们引用为“$(this).find('delete-image')。css(。 ..)“并避免所有与id相关的丑陋。 – 2010-11-01 20:04:34