【发布时间】:2011-01-04 19:39:41
【问题描述】:
我有一个现有的 jquery 下拉菜单,我正在尝试对其进行改造以在单击而不是悬停时进行,一旦单击它,我想使用 jquery 将 src 属性添加到我在下拉列表中的 iframe 中。
但是,我在编码之前由悬停功能处理的超时和鼠标悬停时遇到了问题。本质上,它所做的是当我单击菜单时它会打开它,但是当我尝试将光标移动到我刚刚展开的菜单时它会关闭。
这是我的代码:
$(document).ready(function(){
$("#mylinksdd li").hover(
function(){ $("ul", this).fadeIn("fast"); }
);
if (document.all) {
$("#mylinksdd li").hoverClass ("sfHover");
}
});
$.fn.hoverClass = function(c) {
return this.each(function(){
$(this).click(
function() { $(this).addClass(c); }
);
$(this).mouseout(
function() { $(this).removeClass(c); }
);
});
};
这是我的 HTML:
<ul id="mylinksdd" class="mylinksdd">
<li>
<SPAN style="font-weight:bold; cursor:default">Quick Links</SPAN>
<ul>
<li><iframe id="quicklinksframe" frameborder="0" class="autoHeight" width="250" src=""></iframe></li>
</ul>
</li>
</ul>
我的 CSS:
/* mylinksdd */
.mylinksdd, .mylinksdd ul {
list-style: none;
margin: 0;
padding: 0;
}
.mylinksdd {
z-index: 100;
position: relative;
}
.mylinksdd li {
float: left;
margin: 0;
padding: 0;
position: relative;
}
.mylinksdd li a, .mylinksdd li a:link, .mylinksdd li a:active, .mylinksdd li a:visited {
color: #1a508e;
display: block;
padding: 0 0px;
}
.mylinksdd ul {
background: #eee;
border: 1px solid black;
border-top: 6px solid #3c1e4c;
list-style: none;
margin: 0;
width: 75px;
position: absolute;
top: -999em;
left: -20px;
right: -20px;
padding: 5px;
color: #1a508e;
}
.mylinksdd li:hover ul,
.mylinksdd li.sfHover ul {
top: 16px;
}
.mylinksdd ul li {
color: #1a508e;
border: 0;
float: none;
}
非常感谢任何帮助。 谢谢, 戴夫
【问题讨论】:
标签: jquery navigation drop-down-menu