use*_*896 25 html javascript css jquery
我正在尝试div动态创建元素和打印项目.我已经创建了一个演示来展示我到达的地方.
我的代码的问题是它不会出现在我想要的列表旁边.相反,它显示在底部.是否有可能在div我悬停的元素旁边显示新的权利?
$(".bubble").live({
mouseenter : function() {
$("#bubble").show();
$("#bubble").html($(this).attr('id'));
},
mouseleave : function() {
$("#bubble").empty();
}
});
Run Code Online (Sandbox Code Playgroud)
#bubble{
width:100px;
height:20px;
background-color:#666666;
position:absolute;
display:hidden;
}
Run Code Online (Sandbox Code Playgroud)
<ul>
<li><span class="bubble" id="test1">test1</span></li>
<li><span class="bubble" id="test2">test2</span></li>
<li><span class="bubble" id="test3">test3</span></li>
<li><span class="bubble" id="test4">test4</span></li>
<li><span class="bubble" id="test5">test5</span></li>
</ul>
<div id="bubble"></div>
Run Code Online (Sandbox Code Playgroud)
Ror*_*san 23
您需要设置#bubble相对于li被鼠标悬停的位置.试试这个:
$("ul").on('hover', '.bubble', function(e) {
if (e.type == 'mouseenter') {
var $el = $(this);
$("#bubble")
.html($el.attr('id'))
.css({
top: $el.offset().top,
left: $el.offset().left + $el.width()
})
.show();
}
else {
$("#bubble").empty();
}
});
Run Code Online (Sandbox Code Playgroud)
请注意,我已删除了live()已弃用的用法on(),而是与委托一起使用.我也用过这个hover活动.
mke*_*key 11
纯CSS解决方案怎么样?
HTML:
<ul>
<li>
<span class="bubble" id="test1">test1</span>
<div>test1</div>
</li>
<li>
<span class="bubble" id="test2">test2</span>
<div>test2</div>
</li>
<li>
<span class="bubble" id="test3">test3</span>
<div>test3</div>
</li>
<li>
<span class="bubble" id="test4">test4</span>
<div>test4</div>
</li>
<li>
<span class="bubble" id="test5">test5</span>
<div>test5</div>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
CSS:
ul li div {
width: 100px;
height: 10px;
background-color: #666666;
position: absolute;
display: none;
}
ul li:hover div {
display: inline;
}
Run Code Online (Sandbox Code Playgroud)
JSFiddle:http://jsfiddle.net/H2ZMc/
希望这可以帮助:
我将#bubble附加到li上
$(".bubble").live({
mouseenter : function() {
$("#bubble").html($(this).attr('id'));
$(this).append($("#bubble").show());
},
mouseleave : function() {
$("#bubble").empty().hide();
}
});
Run Code Online (Sandbox Code Playgroud)