javascript - 弹出窗口的放置取决于可用空间。

标签 javascript css iframe fancybox-2

请看附件图片。

如您所见,我正在显示一个弹出框。基本上我想根据可用空间(左侧或右侧)更改弹出窗口的位置。现在它超出了图像。

它是一个花式框(iframe)

popover image

使用此代码显示弹出窗口。

  // Position and show the message.
        this.message
            .css({
                left: (tPosition.left + "px"),
                top: ((tPosition.top + t.outerHeight()) + "px")
            })
            .show();

最佳答案

我会做这样的事情:

this.message
     .css({
          left : function () {
               if ( tPosition.left + $(this).width() >= $(this).parent().width() ) {
                   return $(this).parent().width() - $(this).width();
               } 
               else {
                    return tposition.left;
               } 
          },
          top : function () {
            if ( tPosition.top + $(this).height() > $(this).parent().height() ) {
                   return $(this).parent().height() - $(this).height();
               } 
               else {
                    return tposition.top;
               } 
          }
      });

基本上,在显示弹出窗口并对其进行适当调整之前,您需要检查弹出窗口是否会超出包含框的边界。在水平轴上,这就像确保鼠标位置 x + 弹出窗口的宽度不大于父容器的宽度一样简单。在垂直轴上,您要确保鼠标位置 y + 弹出窗口高度不大于父容器高度。

关于javascript - 弹出窗口的放置取决于可用空间。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17918263/

相关文章:

html - 更改 Joomla 布局中的列宽

javascript - MVC 4 - 级联下拉列表 - Ajax JavaScript 调用问题

javascript - 用于修复 css 的用户脚本

javascript - PEG.js 获取 ( 和 ) 之间的任何文本;

css - 在浏览器中预览 VS 代码中的 Markdown

jquery - 在某些页面上 IE 中的 iframe 访问被拒绝

javascript - 配置Rails在开发和生产中使用不同的js

jquery - 如何找出脚本已添加到wordpress后端?

javascript - 卡在某些 Javascript 上 - 在鼠标悬停在文本上时显示图像

php - fancybox:打开外部子页面加载其后面的父页面