我写了这个脚本:
var HTML_BT = '<a class="helper" href="#"><i class="icon-wrench"></i></a>';
// Append button
$("my_selector").live('mouseenter', function(){
var
bt = $(this).find('a.helper'),
pos = $(this).position();
// Check if the button exists and creates it
if (bt.length==0){
bt = $(HTML_BT);
bt.css({
position:'absolute',
// Calculates coordinates
top:pos.top + 15 + 'px',
left:pos.left + $(this).width() - 15 + 'px'
// .. Some other css like border, bg, color and so on.
});
$(this).append(bt);
}
// Show the button
bt.show();
}).live('mouseleave', function(){
var
bt = $(this).find('a.helper');
// Show the button if exists
if (bt.length!=0){
bt.hide();
}
});
当鼠标光标移到特定项目上时,脚本会在右上角/右上角显示或附加链接。
它工作正常,但我在计算放置在容器内的元素的顶部和右侧坐标时遇到了一些麻烦,这些元素已将 css 位置指定为相对,因为链接坐标(正确地)计算为相对于他的容器。
.carousel-inner{
position:relative;
}
在这里我做了一个工作示例:http: //jsfiddle.net/ucfKm/
有人知道如何测试我是否必须使用绝对/相对坐标或如何获得右左位置?
非常感谢,戴维德。