未使用jQuery正确定位弹出窗口
我使用e.pageX/e.pageY使弹出窗口正常工作,但随后我注意到,如果我单击页面右侧或底部附近的某个位置,弹出窗口就会离开页面。我不知道如何使用位置以及它将如何自动调整,但我一定是出了什么问题。有人能帮我定位我的弹出窗口,并保持在页面上,如果它离开了页面时,它打开 下面是一个例子,说明了我正在尝试做什么未使用jQuery正确定位弹出窗口,jquery,Jquery,我使用e.pageX/e.pageY使弹出窗口正常工作,但随后我注意到,如果我单击页面右侧或底部附近的某个位置,弹出窗口就会离开页面。我不知道如何使用位置以及它将如何自动调整,但我一定是出了什么问题。有人能帮我定位我的弹出窗口,并保持在页面上,如果它离开了页面时,它打开 下面是一个例子,说明了我正在尝试做什么 var hoverTimer; var mouseOverText = "This is normally a looked up value. Hard-coded here so I
var hoverTimer;
var mouseOverText = "This is normally a looked up value. Hard-coded here so
I can illustrate the problem. I'd like the popup to show up to the right
bottom of the mouse unless near the right or bottom of the page. I thought
position automatically did that."
$(".lookup").hover(
function (e) {
hoverTimer = setTimeout(function () {
showPopupText(e, mouseOverText, "#4aacc5");
}, 100); // Changed wait time for fiddle.
},
function (e) { // Supposed to clear the popup when the mouse moves
away. Works on my laptop...not sure why not in fiddle, so not concerned
about this.
clearTimeout(hoverTimer);
});
function showPopupText(e, mouseOverText, bkgColor) {
var html = '<div id="titlePopup" class="tooltip info"
style="background-color:' + bkgColor + '; ' + 'display: block;">'
+ '<span id="temp">' + mouseOverText + '</span>' + '</div>';
timerPopup = setTimeout(function () {
$('div#titlePopup').remove();
$('body').append(html);
var htmlPopup = $("#titlePopup");
$(htmlPopup).position({
my: "right bottom",
at: "right bottom",
of: "event" // Tried different values...none seem to work.
});
}, 100);
}
var-hoverTimer;
var mouseOverText=“这通常是一个查找值。此处硬编码,因此
我可以说明这个问题。我希望弹出窗口显示在右边
鼠标底部,除非靠近页面的右侧或底部。我想
位置自动做到了这一点。”
$(“.lookup”)。悬停(
职能(e){
hoverTimer=setTimeout(函数(){
showPopupText(e,鼠标右键“#4aacc5”);
},100);//更改了小提琴的等待时间。
},
函数(e){//当鼠标移动时,应清除弹出窗口
离开。在我的笔记本电脑上工作…不知道为什么不用小提琴,所以不关心
关于这个。
clearTimeout(悬停计时器);
});
函数showPopupText(e、mouseOverText、bkgColor){
var html=''
+''+mouseOverText+''+'';
timerPopup=setTimeout(函数(){
$('div#titlepoup')。删除();
$('body').append(html);
var htmlPopup=$(“#titlePopup”);
$(htmlPopup).位置({
我的:“右下角”,
在“右下角”,
of:“事件”//尝试了不同的值…似乎都不起作用。
});
}, 100);
}
您可以在页面上显示块元素,显示为:无代码>属性。然后在jquery函数上
$(".lookup").hover(function(){
$("#yourBlockId").toggle();
}, function(){
$("#yourBlockId").toggle();
})
至于把你的积木放在哪里,我会建议你放在你想要的地方
<div style="position: relative; width: 100%;">
<div id="yourBlockId" style="position: absolute; right: 0; display: none;">BLOCK CONTENT</div>
</div>
您可以在页面上使用
显示的block元素:none代码>属性。然后在jquery函数上
$(".lookup").hover(function(){
$("#yourBlockId").toggle();
}, function(){
$("#yourBlockId").toggle();
})
至于把你的积木放在哪里,我会建议你放在你想要的地方
<div style="position: relative; width: 100%;">
<div id="yourBlockId" style="position: absolute; right: 0; display: none;">BLOCK CONTENT</div>
</div>
谢谢,但我不认为这完全符合我的要求。我希望弹出窗口位于鼠标的右侧/底部。如果我点击了页面右下角附近的一个元素,我希望弹出窗口是左上角…这看起来像是位置应该做的事情。我在问题和评论中注意到我说“点击”。我想说“悬停”。如果我将鼠标悬停在元素上,你也可以为元素设置一个最大宽度和高度,并使用它们来计算它可以拥有的最大位置OK。我希望使用position,但我会尝试一下,并让您知道。block.height()或width未定义。还在工作。谢谢,但我不认为这完全符合我的要求。我希望弹出窗口位于鼠标的右侧/底部。如果我点击了页面右下角附近的一个元素,我希望弹出窗口是左上角…这看起来像是位置应该做的事情。我在问题和评论中注意到我说“点击”。我想说“悬停”。如果我将鼠标悬停在元素上,你也可以为元素设置一个最大宽度和高度,并使用它们来计算它可以拥有的最大位置OK。我希望使用position,但我会尝试一下,并让您知道。block.height()或width未定义。还在工作。谢谢,但我不认为这完全符合我的要求。我希望弹出窗口位于鼠标的右侧/底部。如果我点击了页面右下角附近的一个元素,我希望弹出窗口是左上角…这看起来像是位置应该做的事情。我在问题和评论中注意到我说“点击”。我想说“悬停”。如果我将鼠标悬停在元素上,你也可以为元素设置一个最大宽度和高度,并使用它们来计算它可以拥有的最大位置OK。我希望使用position,但我会尝试一下,并让您知道。block.height()或width未定义。还在工作。