jquery - 如果在视口(viewport)中不可见,则使用 JQuery 更改 div 元素的位置

标签 jquery css position element

我在屏幕/浏览器的左侧有一个垂直菜单及其相应的子菜单项。我被困在一个地方。

要求是:
将鼠标悬停在一个元素上,如果子菜单在视口(viewport)内可见(即可见和可访问的窗口区域),则什么都不做;但是,如果它超出可见区域,则子菜单应填充到窗口顶部。

这意味着子菜单应该在视口(viewport)中可见(如果它隐藏了下方,它应该朝顶部打开)。

谢谢

最佳答案

试一试:

http://www.appelsiini.net/projects/viewport

这是一个非常简单的 jQuery 插件,它编写了一个逻辑来了解元素何时进入视口(viewport),以及许多其他基于视口(viewport)的条件逻辑调用。

所有你需要做的,一旦一切都被载入:

$(window).scroll (function(){

if  ($('.menu') .is(":in-viewport")){
 
 // Do literally anything you want with jQuery   
}

});

非常强大的插件。

关于jquery - 如果在视口(viewport)中不可见,则使用 JQuery 更改 div 元素的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26014346/

相关文章:

javascript - 让 clearInterval 真正清除的问题

php - jquery $.ajax 到 php 问题

html - 为什么向 <body> 添加列表元素会向 <html> 添加额外的填充? CSS

html - 如何为 CSS 形状添加边缘高亮?

css - Position Sticky 影响嵌套的 child ,就像它影响 sibling 一样

javascript - HTML/JS - Bootstrap 日期选择器

jquery - 使用Typescript(Angular 8)一个接一个地旋转木马

html - 悬停框位置问题

javascript - 使用javascript获取鼠标悬停下的所有div

jquery - 如何在jquery中创建和访问数组