javascript - 如何在画廊 View 中的一系列动态 div 中使用 Jquery 更改最后一个弹出窗口(动态)的位置

标签 javascript jquery html css

这里的情况很有趣。一个我有点难过。我们在此页面上有一个动态的水平画廊列表,其中一个选项是单击齿轮图标时弹出的操作菜单(下图)。然而,最后一个元素的弹出窗口朝向屏幕边缘并且实际上不可读(边缘被切断,链接中断到第二行)。我想选择最后一个 div 并更改弹出窗口的位置(如果它是最后一个)但是菜单是动态的并且它已经使用 JS 定位(附有其他屏幕截图)。希望这是足够的信息。下面的代码片段。本菜单enter image description here也与 TableView 共享。谢谢

enter image description here

enter image description here

    $galleryCont.on('mouseover','.galleryItem',function(e){
    $(this).find('.orderActionsLink').show();

    }).on('mouseout','.galleryItem',function(e){
                $(this).find('.orderActionsLink').hide();
    });

        //Hides Actions Menu on scroll
           $galleryCont.scroll(function() {
           $('.actionsTableCont').hide();
     });

最佳答案

我会使用 jquery 的 position() 获取元素的位置,然后使用 jquery 的 width() 获取元素的宽度。

根据这些值,您可以计算元素的右边缘是否超出页面(超过视口(viewport)宽度)。如果是,您可以将 div 重新定位到齿轮图标的左侧而不是右侧。

这类似于工具提示库如何智能地根据元素与视口(viewport)边缘的接近程度向左、右、顶部或底部显示工具提示。

关于javascript - 如何在画廊 View 中的一系列动态 div 中使用 Jquery 更改最后一个弹出窗口(动态)的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36319082/

相关文章:

javascript - jQuery 单击功能不适用于 ID

javascript - 删除 <head> 中未标记的文本字符串

html - CSS显示水平滚动条?

javascript - 在页面之间显示 'Page Loading' 消息

javascript - 在 Vue 中声明变量有什么区别?

javascript - 动态创建嵌套 JSON 对象父级和子级

jquery - 检查是否选中了单选按钮的一项

javascript - 检查元素何时出现在视口(viewport)中 -> addClass

JavaScript/jQuery NetCat

javascript - 如何使用 Javascript 输入 2 个框