【发布时间】:2010-12-03 17:00:56
【问题描述】:
我有一个类似的html结构
<ul>
<li> <span class="vcard">
<a class="underline user-link" href="/users/aruna">Aruna </a>
</span>
<div style="display: none;" class="image_hover">
Student
<p>
<a onclick="" href="#">Show additional details</a>
<a href="#">view</a>
<p>Employee ID : </p>
<p>Project Name: </p>
<p>Project Role : r</p>
<p>Supervisor Name : </p>
</p>
</div>
</li>
<li>
<span class="vcard">
<a class="underline user-link" href="/users/jasmine">jasmine </a>
</span>
<div style="display: none;" class="image_hover">
Professor
<p>
<a onclick="" href="#">Show additional details</a>
<a href="#">view</a>
<p>Employee ID : </p>
<p>Project Name: </p>
<p>Project Role : r</p>
<p>Supervisor Name : </p>
</p>
</div>
</li>
</ul>
我在 jQuery 中尝试了一个代码,因为当我们将鼠标悬停在 span(vcard) 内的链接上时,旁边的 div 会淡入
当悬停在正文的其他元素上时,除了链接或淡入淡出的 div 之外,div 必须淡出 ..
怎么做??
我试图淡入的那个
jQuery(document).ready(function(){
var _selectedLinkEl = null;
var _detailEl = null;
var body = jQuery("body");
var elem=null;
jQuery(".user-link").mouseover(function(event) {
_selectedLinkEl = this;
_detailEl=jQuery(event.target).parent().next();
_detailEl.fadeIn("slow");
elem=jQuery(this).parent().next();
_href=jQuery(this).attr('href').split("/")[2];
jQuery.post('/users/user_detail/?name='+_href,
function(data){
elem.html(data).fadeIn("slow");
});//post
body.mouseover(_bodyMouseOverFunction);
}); // user-link
var _bodyMouseOverFunction = function(event) {
// to add some conditions here
_detailEl.fadeOut("slow");
body.unbind("mouseover", _bodyMouseOverFunction);
};// mouseover
});// doc ready
我需要在 _bodyMouseOverFunction 中写一些条件,但不知道如何指定.. 请提出建议
【问题讨论】:
-
阅读缩进不佳的代码既困难又令人沮丧,使您不太可能从任何人那里获得帮助。
-
@Marcelo Cantos -- 缩进...
-
fadeout in jQuery的可能重复
-
坦率地说,它更好,但仍然很糟糕。为什么用户链接没有进一步缩进?为什么
body.mouseover(_bodyMouseOverFunction);与同一块中的每一行缩进不同(对于整个代码中的几行也是如此)?为什么_bodyMouseOverFunction的结尾}用// mouseover注释(这与实际上调用mouseover的另一行混淆了)?