我有这个jquery bpopup momadal,我想相对于鼠标点击的坐标进行定位。我能够捕获坐标并将它们传递给样式表,或者甚至当我明确地对它们进行编码时,模态似乎不支持可能的属性。
请查看我在此链接上使用的模式的JS文件:http://jsfiddle.net/24a9b/
#element_to_pop_up {
background-color:#fff;
border-radius:15px;
color:#000;
display:none;
padding:20px;
min-width:400px;
min-height: 180px;
}
.bClose{
cursor:pointer;
position:absolute;
right:10px;
top:5px;
}
我想使用" top"和"左"风格属性。但似乎这个模态在其库中具有默认写入的中心,您也可以查看该链接。请高度赞赏任何帮助。
答案 0 :(得分:0)
您用于创建此弹出模式的库是通过动态计算top
和left
样式在中心中设置模式,然后将它们应用于内联css样式形式的元素。
因此,如果您想覆盖 top
和left
来提供自己的值,可以将样式设为!important
。
#element_to_pop_up {
left: 10px !important;
top:10px !important;
}
更新了JSFiddle:https://jsfiddle.net/24A9b/13946/
答案 1 :(得分:0)
您可以使用
left: 10px !important;
因为模态的位置已经计算并由您正在使用的库的脚本内联分配。
!important
会使目标元素左/上优先于任何针对同一元素的CSS样式。
答案 2 :(得分:0)
您可以向position
方法添加bPopup
属性,该方法会将x
和y
位置保存为这样的数组。
$('#element_to_pop_up').bPopup({
position: [10,100]
});
要将x
和y
鼠标坐标传递给弹出窗口,这将是一个选项。
$('#my-button').bind('click', function(e) {
var offset = $(this).offset();
var x = (e.pageX - offset.left);
var y = (e.pageY - offset.top);
// Prevents the default action to be triggered.
e.preventDefault();
// Triggering bPopup when click event is fired
$('#element_to_pop_up').bPopup({
position: [x,y]
});
});
这是一个有效的Fiddle