我有这样的结构。
<div id="ContentPlaceHolder2_div_Menu" class="bottom-link">
<ul class='forlasttooltip'>
<li>
<div class='orange-button divm'>
3G/GPRS</div>
<div class='tooltip'>
<div class='tooltipinner'>
<ul>
<li class='li' rel='#yesno'><a href='my.aspx' rel='#overlay'>How to configure GPRS?</a>
</li>
<li class='li' rel='#yesno'><a href='test.aspx' rel='#overlay'>How to Browse Internet?</a>
</li>
<li class='li' rel='#yesno'><a href='test1.aspx' rel='#overlay'>How to select 3G Network?</a></li></ul>
</div>
</div>
</li>
<li>
<div class='orange-button divm'>
Email</div>
<div class='tooltip'>
<div class='tooltipinner'>
<ul>
<li class='li' rel='#yesno'><a href='' rel='#overlay'>How To Configure Email?</a>
</li>
<li class='li' rel='#yesno'><a href='' rel='#overlay'>Exchange Mail Configuration</a></li></ul>
</div>
</div>
</li>
<li>
<div class='orange-button divm'>
MMS</div>
<div class='tooltip'>
<div class='tooltipinner'>
<ul>
<li class='li' rel='#yesno'><a href='' rel='#overlay'>How to Send MMS?</a></li></ul>
</div>
</div>
</li>
<li>
<div class='orange-button-d divm'>
Speed<br />
Issue</div>
<div class='tooltip'>
<div class='tooltipinner'>
<ul>
<li class='li' rel='#yesno'><a href='tet.aspx'
rel='#overlay'>How to clear cache and cookies?</a></li></ul>
</div>
</div>
</li>
</ul>
</div>
当用户将鼠标悬停在div
上并使用课程tooltip
时,我想要使用课程div
打开divm
。
这就像菜单在div上面打开一样
之前我使用的tooltip
flowplayer
现在无法使用
如下
感谢。
我创建了一个fidle http://jsfiddle.net/c2pdG/28/
答案 0 :(得分:2)
这更像是一个CSS问题。我更新了CSS以便它可以随意工作,但您可能需要进行更多调整 - 原始代码也无法正常工作。
基本上,包含子菜单的菜单项应包含position: relative
和overflow: visible
。然后,子菜单(工具提示)需要position: absolute
和bottom: 100%
,这将使其底部贴在其相对父级的顶部(即.bottom-link
)。
即使动画正在使用.slideDown
,它仍会显示为向上动画。
答案 1 :(得分:1)
你可以像这样使用
$(".divm").mouseover(function(){
var position = $(this).offset(); // calculate the position of click
var winH = $(window).height();
var left = position.left; // calculation bottom left position of tooltip to be displayed
var bottom = winH-position.top
$(".tooltip").attr("style","left:"+left+"px;bottom:"+bottom +"px;").show();
});
答案 2 :(得分:-1)
如果您可以控制源代码,我只需切换div的位置
<li>
<div class='tooltip'>
<div class='tooltipinner'>
<ul>
<li class='li' rel='#yesno'><a href='my.aspx' rel='#overlay'>How to configure GPRS?</a>
</li>
<li class='li' rel='#yesno'><a href='test.aspx' rel='#overlay'>How to Browse Internet?</a>
</li>
<li class='li' rel='#yesno'><a href='test1.aspx' rel='#overlay'>How to select 3G Network?</a></li></ul>
</div>
</div>
<div class='orange-button divm'>
3G/GPRS</div>
</li>
这将打开divm div上方的工具提示div。
如果没有,请尝试使用prependTo()jQuery方法
$('.tooltip').prependTo($('.tooltip').parent());
这会将元素“移动”到它的父元素中的顶部元素,即li标记。
所以你的功能可能如下所示:
$(".divm").mouseover(function(){
$('.tooltip').prependTo($('.tooltip').parent()).show();
}