javascript - JQuery:使弹出窗口出现在正在单击的按钮的正下方

标签 javascript jquery html

有谁知道一个简单的解决方案,可以让弹出窗口出现在被单击的按钮正下方,无论屏幕尺寸如何?

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

  $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>");

    });

这很接近,但不在按钮的正下方。我想知道是否有更好的解决方案来做到这一点。非常感谢任何提示!

最佳答案

这样的东西可以工作

// help popout
$('.help, .popOut .close a').click(function() {
  $('.pop').toggleClass('popOut');
});
.help {
    float: left;
}

.help a {
    padding: 10px 20px;
    color: #F0F0F0;
    background-color: #3377DD;
}

.help a:hover {
    cursor: pointer;
}

.pop {
    display: none;
}

.popOut {
    float: left;
    width: 250px;
    margin-top: 5px;
    padding: 5px;
    background-color: #F9F9F9;
    border: 1px solid #DDD;
    display: block;
    position: absolute;
}

.popOut p {
    color: #242424;
}

.close a {
    float: right;
    padding: 3px 5px 2px 5px;
    font-size: 10px;
    color: #F0F0F0;
    background-color: #A10000;
    border-radius: 50%;
    border: 1px solid #BBB;
}

.content {
    float: left;
 }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="help">
	<p><a>Help</a></p>
	<div class="pop">
		<div class="close"><a>X</a></div>
		<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
	</div>     
</div>
<div class="content">
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>

关于javascript - JQuery:使弹出窗口出现在正在单击的按钮的正下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36667524/

相关文章:

javascript - 如何在 React 中加载和使用 jsgrid lib?

javascript - jQuery 中的选项过滤器

javascript - 如何在javascript中修改realm中的现有记录

JavaScript/Jquery : Filter a table with multiple radio buttons

html - CSS - 使用 calc() 来保持元素的宽度相同

javascript - 装饰器不支持 Angular 6 Prod 函数调用,但调用了 '..Module'

javascript - 如何使用 Select 2 js 找到确切的单词?

javascript - 无法在动态表格上添加水平滚动条

javascript - 在输入字段中仅粘贴数字

python - 如何获取 django 变量的子字符串 [HTML]