当 div 在浏览器窗口中可见时运行脚本

2023-11-25

我需要运行一些 JavaScriptdiv例如,当滚动甚至重复滚动时,在浏览器窗口中可见。我该怎么做呢?

基本结构:

<div class='page1'></div>

<div class='page2'></div>

<div class='page3'></div>

<div class='page4'></div>

CSS:

div {
    float: left;
    height: 500px;
    width: 500px;
    margin: 50px 0;
    background: grey;
}

Fiddle: http://jsfiddle.net/Q5BUe/1/


与其他提供的问题/解决方案一样,这里是完整的实现......

加载后,我们运行该函数为可见的 div 分配相应的颜色。在 jQuery 滚动处理程序上,我们继续调用该函数来分配新的背景颜色。

http://jsfiddle.net/Q5BUe/5/

$(allInView);
$(window).scroll(allInView);


function isScrolledIntoView(elem) {
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();

    var elemTop = $(elem).offset().top;
    var elemBottom = elemTop + $(elem).height();

    return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}

function allInView() {

    if (isScrolledIntoView($(".page1"))) $(".page1").css("backgroundColor", "red");
    else $(".page1").css("backgroundColor", "grey");

    if (isScrolledIntoView($(".page2"))) $(".page2").css("backgroundColor", "green");
    else $(".page2").css("backgroundColor", "#333");

    if (isScrolledIntoView($(".page3"))) $(".page3").css("backgroundColor", "yellow");
    else $(".page3").css("backgroundColor", "#222");

    if (isScrolledIntoView($(".page4"))) $(".page4").css("backgroundColor", "blue");
    else $(".page4").css("backgroundColor", "#111");

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 div 在浏览器窗口中可见时运行脚本 的相关文章

  • 按属性首字母对对象数组进行分组

    我对此有点挣扎 自从我编码 JavaScript 以来已经有一段时间了 试图转换它 items data name john name james name joe name brian name bojan name billy name
  • Javascript dispatchEvent click 在 IE9 和 IE10 中不起作用

    我正在尝试在 ExtJs 中构建应用程序时模拟鼠标事件 例如单击 鼠标悬停等 我使用下面的代码来模拟点击 function triggerEvent element eventName if document createEvent var
  • jquery如何获取右、左、上、下箭头键值

    我使用了下面的代码 每当单击箭头键 左 右 上 下 时 我得到的键值为 0 任何人都可以帮忙解决这个问题吗 document keypress function e alert key value e which 如何获取 上 下 右 左
  • jQuery:当使用 on .scroll 事件和警报时,firefox 似乎无限循环

    我的主模板之一中有以下 jQuery 代码 document scroll function var scroll top document scrollTop alert scroll top if scroll top lt 70 fi
  • React Native 中的动画背景颜色

    我将如何在 React Native 中将一种颜色动画化为另一种颜色 我发现通过插入 Animated Value 您可以通过以下方式对颜色进行动画处理 var BLACK 0 var RED 1 var BLUE 2 background
  • JavaScript 事件循环:队列、消息队列、事件队列

    阅读了大量 JavaScript 事件循环教程 我看到了不同的术语来标识当调用堆栈为空时准备由事件循环获取的队列存储消息 Queue 消息队列 事件队列 我找不到规范术语来识别这一点 甚至 MDN 似乎也对此感到困惑事件循环页面 https
  • Javascript:一般访问函数参数

    这是我所拥有的 var log function arg1 arg2 console log inside arg1 arg2 var wrap function fn return function args console log be
  • 添加/更改 URL 参数并重定向到新 URL

    If the view allURL 中不存在参数 我需要将其与值一起添加到 URL 的末尾 如果它确实存在 那么我需要能够仅更改该值而不创建新的 URL 因为它之前可能有也可能没有其他参数 我找到了这个功能 但我无法让它工作 https
  • 在 JQueryUI 小部件的 QUnit 测试中测试可见性

    这对于其他人来说可能是显而易见的 但我没有通过搜索找到它 所以在这里发布问题和一个可能的答案 背景 使用自定义 JQuery UI 小部件小部件工厂 http jqueryui com widget 在小部件中 某些元素根据其他数据 选项隐
  • 从 Web 浏览器控件读取 Javascript 变量

    我正在尝试读取从表单上的 WebBrowser 控件加载和调用的 Javascript 变量的值 Example index html 引用名为 test js 的 javascript 在 test js 上 创建并填充了几个变量 然后i
  • 如何在 html5 中加载部分 html? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 询问我们的问题推荐或查找工具 库或最喜欢的场外资源与 Stack Overflow 无关 因为它们往往会吸引固执己见的答案和垃圾邮件 反而
  • 样式表何时添加到 document.styleSheets

    我正在尝试使用 javascript 动态添加 css 样式表规则 例如示例 2here https developer mozilla org en DOM CSSStyleSheet insertRule 它在大多数情况下都有效 但似乎
  • Svg 点击事件无法正常工作

    我试图让我的 SVG 看起来像一个 饼形 看起来一切都很好 此外 我希望它们每个都有不同的点击事件 function one alert 1 function two alert 2 function three alert 3 funct
  • 用角度js中的字母过滤列表

    我在表格中显示了一个列表 我需要使用名称的第一个字母来过滤结果 在列表上方我有一个字母 A B C D 等等 单击后 字母列表将按名字过滤 例如 列表详细信息是Apple Boy Bridge点击后A Apple将显示 我必须过滤国家名称以
  • Jquery 对话框打开另一个页面

    有一个页面为transaction html 如何在另一个页面的弹出窗口中打开此页面 例如 jquery 对话框中的 show transactions html dialog html open transaction html in t
  • 为什么“jQuery-Rails”经常位于资产组之外

    为什么我经常看到gem jquery rails之外的 assets group group assets do gem sass rails gt 3 1 0 gem coffee rails gt 3 1 0 gem uglifier
  • 删除多个类 (jQuery)

    有没有更好的方法来重写这个 element removeClass class1 removeClass class2 我无法使用removeClass 因为它会删除我不想要的所有课程 element removeClass class1
  • 函数声明可以出现在 JavaScript 的语句内部吗?

    请考虑将官方 ECMAScript 规范作为您答案的来源 而不是特定浏览器供应商发布的文档 我知道 Mozilla 用 函数语句 扩展了它的 JavaScript 实现 因此 根据 ECMAScript 规范 因此 其中定义的语法产生式 这
  • 静态资源和非静态资源有什么区别?

    我主要是一名前端开发人员 设计师 但最近我一直在探索端到端解决方案 昨天 我使用平均堆栈完成了一个 TODO 应用程序 并想开始探索我的 VPS 的部署选项 话虽这么说 有人建议我使用 nginx 作为反向代理来提供静态资源 不幸的是 我陷
  • JSON 数据的动态表单(不同类型)

    我尝试使用 JSON 中的数据在 AngularJS 中创建动态表单 我有这个工作 HTML p p

随机推荐

  • 无法确定名为 的参数的 GraphQL 输入类型

    我有两个相关模型 1 角色实体 import Column Entity BaseEntity OneToMany PrimaryColumn from typeorm import Field ObjectType from type g
  • 在c#中捕获游戏屏幕截图最快的方法?(每秒超过20张图像)

    如何快速截取整个游戏屏幕 大约每秒 20 30 次 我想将它们转换为视频 1 我尝试过 WMEncoder 结果是 WMEncoder 只能使用一组预配置的编解码器以视频格式 wma 捕获屏幕和屏幕区域 29 fps 最佳编码结果 WMEn
  • itertools.groupby 的意外行为

    这是观察到的行为 In 4 x itertools groupby range 10 lambda x True In 5 y next x In 6 next x StopIteration Traceback most recent c
  • 访问 .Net 中的自定义配置部分

    我正在尝试访问配置文件中的设置 该文件是一系列列出的 xml 元素 如下所示
  • 在 AS3 中查找(加载)图像大小(动作脚本 3.0)

    我目前使用以下函数来加载图像 但是我无法找到找到加载图像宽度的方法 我打算在使用相同函数放置下一个图像之前使用它 请注意 q 是一个变量 数字 用于加载不同的图像 X 我需要帮助获取加载的图像宽度 function LoadImage q
  • 获取图像中每种颜色的使用百分比

    我有这个工作 但它在 jpeg 图像上太慢了 还需要一些改变 我需要知道图像中的各个颜色 RGB 的容差为 1 以及该颜色占图像的百分比 所以如果图像是黑白的 它会说类似 白色 74 黑色 26 下面的代码就像我说的那样工作 但我还需要添加
  • 使用 .htaccess 从 URL 中删除“index.php”

    我一直在尝试该网站上的各种解决方案 但似乎都不起作用 我目前正在使用 Hostgator 进行托管 这是我当前的 htaccess 文件
  • Android:DatePicker 和 DatePicker 对话框

    我在选项菜单上有这个代码 Dialog dialog new Dialog ScheduleActivity this dialog setTitle Add Event dialog setContentView R layout add
  • 是否可以在 MongoDB 之上实现多版本并发控制 (MVCC)?

    MongoDB 对我来说是一个很棒的数据库 然而 在某些情况下 我确实需要原子多文档事务 例如 在帐户之间转移事物 例如金钱或声誉 这需要完全成功或完全失败 我想知道是否可以通过实现多版本并发控制模式的库与 MongoDB 进行交互 表演会
  • linux汇编:如何调用系统调用?

    我想在汇编中调用系统调用 问题是我不能mov ecx rsp rsp是64位寄存器 ecx是一个32位寄存器 我想将缓冲区地址作为此系统调用的参数传递 我能做些什么 谢谢 section data s0 db Largest basic f
  • OrderBy Date 值,在 Angular JS 中只是字符串

    我试图按日期排序一些数据 尽管日期只是字符串 格式为 dd mm yyyy 我制作了一个过滤器 将纯数字字符串 在美国日期格式中 我想要在英国日期格式中 例如 01272012 转换为 27 01 2014 但是当我尝试订购它们时 它仍然只
  • Service Worker 发送两个请求

    我已经实现了一个服务工作人员 它缓存所有离线使用的请求 这工作正常 但是每次我加载页面时 都会有两个请求到达我的网络服务器 一个来自服务工作者 一个来自浏览器 如何缓存请求并仅加载页面一次 service worker js self ad
  • chrome 扩展:启动时停止加载页面

    我想在单击扩展程序图标时停止页面加载 我有一个背景页面 当我单击扩展图标时 我需要一个类似于 window stop 的选项 如果主页仍处于加载状态 则停止加载并加载扩展的内容 JavaScript 应该可以工作 您始终可以执行此操作 需要
  • Django 日志记录 - 未找到处理程序的日志文件

    我在 Django 项目中设置了日志记录 它在开发中可以在本地运行 但在生产中会造成麻烦 settings py位如下 import os PROJECT PATH os path abspath os path dirname name
  • 限制用户在C# Windows应用程序中只能输入数字

    我尝试过此代码仅限制数字 它仅输入数字 并且当我们尝试输入字符或任何其他控件时不进行输入 即使它也不输入退格键 如何防止退格键 private void TxtBox1 KeyPress object sender KeyPressEven
  • Android:如何在一个 Vector Drawable xml 中使用选择器更改 android:fillcolor

    选项卡图标 我当前的方法是创建两个文件 ic list selected 24dp xml 和 ic list unselected 24dp xml 它们基本相同 但只是android fillColor Color HEX CODE 是
  • Delphi中可以将字符串转换为集合吗

    例如 Font Style StringToSet fsBold fsUnderline 当然 那里需要一些类型信息的东西 但你明白了 我正在使用Delphi 2007 检查此代码 与您建议的语法不完全相同 但可以从字符串设置集合的值 us
  • 是否可以从 sqlpackage 中排除对象/对象类型?

    我想从提取或发布操作中排除某些对象 例如所有登录名和用户sqlpackage exe 这可以在 Visual Studio 中实现 所以我希望也可以从sqlpackage exe 还是不可能 原因是我希望能够自动部署到登录和用户不同的各种环
  • 用于密码强度验证的正则表达式

    我编写了一个可能用于密码强度验证的正则表达式 A Z a z d W 8 12 该表达式由四组组成 零个或多个大写字符 零个或多个小写字符 零个或多个小数位 零个或多个非单词字符 等 我希望它的工作方式是确定有多少组已匹配 以确定密码的强度
  • 当 div 在浏览器窗口中可见时运行脚本

    我需要运行一些 JavaScriptdiv例如 当滚动甚至重复滚动时 在浏览器窗口中可见 我该怎么做呢 基本结构 div class page1 div div class page2 div div class page3 div div