Javascript JQuery:Make弹出窗口显示在';正在点击

Javascript JQuery:Make弹出窗口显示在';正在点击,javascript,jquery,html,Javascript,Jquery,Html,有没有人知道一个简单的解决方案,可以让弹出窗口显示在被点击的按钮的正下方,而不管屏幕大小如何 这是我的当前代码,单击的按钮是变量“help”: $help=$('.help'); var position=$help.position(); $help。单击(函数(){ var x=位置。左侧; var y=position.top; var helpWindow=window.open(“,”,“宽度=200,高度=100,left=“+x+”,top=“+y”); helpWindow.do

有没有人知道一个简单的解决方案,可以让弹出窗口显示在被点击的按钮的正下方,而不管屏幕大小如何

这是我的当前代码,单击的按钮是变量“help”:

$help=$('.help');
var position=$help.position();
$help。单击(函数(){
var x=位置。左侧;
var y=position.top;
var helpWindow=window.open(“,”,“宽度=200,高度=100,left=“+x+”,top=“+y”);
helpWindow.document.write(“信息文本”

”; });

这很近,但不在按钮的正下方。我想知道是否有更好的解决办法。非常感谢任何提示

工作演示

$(文档).ready(函数(){
$('.help')。单击(函数(事件){
$(“#modal”).css({显示:“块”,位置:“绝对”,顶部:event.pageY,左侧:event.pageX});
}); });
#模态{
宽度:100px;
高度:100px;
边框:1px纯红;
显示:无;
}
.救命{
宽度:500px;
高度:500px;
边框:1px纯黑;
}

辅助窗口

在div中单击工作演示

$(文档).ready(函数(){
$('.help')。单击(函数(事件){
$(“#modal”).css({显示:“块”,位置:“绝对”,顶部:event.pageY,左侧:event.pageX});
}); });
#模态{
宽度:100px;
高度:100px;
边框:1px纯红;
显示:无;
}
.救命{
宽度:500px;
高度:500px;
边框:1px纯黑;
}

辅助窗口

在div中单击类似的东西可能会起作用

//帮助弹出窗口
$('.help、.popOut.close a')。单击(函数(){
$('.pop').toggleClass('popOut');
});
.help{
浮动:左;
}
.帮个忙{
填充:10px 20px;
颜色:#f0;
背景色:#3377DD;
}
.帮助a:悬停{
光标:指针;
}
爸爸{
显示:无;
}
popOut先生{
浮动:左;
宽度:250px;
边缘顶部:5px;
填充物:5px;
背景色:#F9F9F9;
边框:1px实心#DDD;
显示:块;
位置:绝对位置;
}
.popOut p{
颜色:#2424;
}
.关门{
浮动:对;
填充物:3px 5px 2px 5px;
字体大小:10px;
颜色:#f0;
背景色:#A10000;
边界半径:50%;
边框:1px实心#BBB;
}
.内容{
浮动:左;
}

帮助

X 知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作


类似的方法可能会奏效

//帮助弹出窗口
$('.help、.popOut.close a')。单击(函数(){
$('.pop').toggleClass('popOut');
});
.help{
浮动:左;
}
.帮个忙{
填充:10px 20px;
颜色:#f0;
背景色:#3377DD;
}
.帮助a:悬停{
光标:指针;
}
爸爸{
显示:无;
}
popOut先生{
浮动:左;
宽度:250px;
边缘顶部:5px;
填充物:5px;
背景色:#F9F9F9;
边框:1px实心#DDD;
显示:块;
位置:绝对位置;
}
.popOut p{
颜色:#2424;
}
.关门{
浮动:对;
填充物:3px 5px 2px 5px;
字体大小:10px;
颜色:#f0;
背景色:#A10000;
边界半径:50%;
边框:1px实心#BBB;
}
.内容{
浮动:左;
}

帮助

X 知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作


改为使用window.open。我建议您使用经典的。 为了在对话框中加载一些html文档,可以使用函数替换对话框中的文本

$(函数(){
$('#dialog')。dialog({
自动打开:错误
});
$(':button.ui对话框标题栏关闭')。打开('click',函数(e){
e、 停止即时复制();
$('dialog')。dialog('close');
});
$('myBtn')。在('click',函数(e)上{
如果($('#dialog')。为(':visible')==false){
$.get(“???您的本地URL?”,函数(数据){
$('#dialogContent').empty().append(数据);
var myPos='left++'(e.pageX+10)+'top++'(e.pageY+10);
  $help = $('.help'); 

  var position = $help.position();

  $help.click(function() {
      var x =position.left;
      var y = position.top;
      var helpWindow = window.open("", "", "width=200, height=100, left=" + x + ",top=" + y);
      helpWindow.document.write("<p>Info text</p>");

    });
$(function(){
    $('#example').on('click', function(){
    var $w = $(window);
    var $example = $('#example');

    var clientWidth = $w.width();
    var windowChromeWidth = window.outerWidth - clientWidth;
    var windowScrollLeft = $w.scrollLeft();
    var elementLeftPositionInViewport = $example.scrollLeft() - windowScrollLeft;
    var screenX = window.screenX;
    var newWindowX = screenX + windowChromeWidth + elementLeftPositionInViewport;

    var clientHeight = $w.height();
    var windowChromeHeight = window.outerHeight - clientHeight;
    var windowScrollTop = $w.scrollTop();
    var elementTopPositionInViewport = $example.scrollTop() - windowScrollTop;
    var screenY = window.screenY;
    var elementHeight = $example.height();
    var newWindowY = screenY + windowChromeHeight + elementTopPositionInViewport + elementHeight;

    var helpWindow = window.open("", "", "width=200, height=100, left=" + newWindowX + ",top=" + newWindowY);
  });
});