让 DOM IE 变得友好

2024-01-07

我怎样才能使这个脚本对IE友好?唯一对 IE 不友好的部分是变量scrolledtonum and heightofbody...

function getheight() {

            var myWidth = 0,
        myHeight = 0;
         if (typeof (window.innerWidth) == 'number') {
                //Non-IE
                myWidth = window.innerWidth;
                myHeight = window.innerHeight;
            } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
                //IE 6+ in 'standards compliant mode'
                myWidth = document.documentElement.clientWidth;
                myHeight = document.documentElement.clientHeight;
            } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
                //IE 4 compatible
                myWidth = document.body.clientWidth;
                myHeight = document.body.clientHeight;
            }
            var scrolledtonum = window.pageYOffset + myHeight + 2;
            var heightofbody = document.body.offsetHeight;
            if (scrolledtonum >= heightofbody) {
                document.body.scrollTop = 0;
            }
        }

        window.onscroll = getheight; 

        function func() {
            window.document.body.scrollTop++;
        }

        window.document.onmouseover = function () {
            clearInterval(interval);
        };

        window.document.onmouseout = function () {
            interval = setInterval(func, 20);
        };

        var interval = setInterval(func, 20);

关于scrollY 的mozilla MDN 文档包含用于处理pageYOffset 兼容性问题的示例代码:https://developer.mozilla.org/En/DOM/Window.scrollY https://developer.mozilla.org/En/DOM/Window.scrollY.

它说如下:

为了跨浏览器兼容性,请使用window.pageYOffset代替window.scrollY,除了使用

(((t = document.documentElement) || (t = document.body.parentNode)) && typeof t.ScrollTop == 'number' ? t : document.body).ScrollTop

when window.pageYOffset (and window.scrollY) 未定义。

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

让 DOM IE 变得友好 的相关文章

  • 在 React 中切换 css 类

    如何使用布尔值切换 React 中元素上 css 类的存在 在 Angular 2 中我可以这样做 class red isRed 如何在 React 中做熟悉的事情 在 React 中 元素使用如下语法获取它们的类 div div 但请注
  • 用户脚本 - 有没有办法将 jquery 代码注入 angularjs dom?

    所以我正在尝试为一个网站创建用户脚本 我无法更改网站的任何源代码 因为它不是我的 网站到处都使用 AngularJS 控制器 我研究了几天如何做到这一点 但没有成功 所以我尝试注入代码 nav after div test div 当我通过
  • Masonry - imagesLoaded - 不是函数

    Masonry and imagesLoaded应加载并正常工作 已经制作了一个类似的网站 并且可以正常运行 我不知道我的问题出在哪里 所以我希望你能看到问题所在 应该是少了点什么 在 Chrome Inspect 中 我收到以下错误 Un
  • 使用 JS 在 Angular 中创建删除按钮的确认警报

    我有一个带有删除按钮的表单 我想创建一个单击删除按钮时弹出的确认框 删除按钮当前有效 我在 javascript 中尝试了一些方法 但没有成功 我正在使用角度 这是最好的方法吗 另外 有谁知道这方面的任何例子 我还没有找到任何有效的例子 d
  • 卸载 React 时删除事件监听器

    我有更高阶的组件 反应如下 export default function InnerComponent class InfiniteScrolling extends React Component constructor props s
  • 自定义rc-time-picker的样式

    我在用rc time picker我的项目的包 但我在自定义样式时遇到问题pop up of my time picker成分 这是我的组件的屏幕截图 首先 我需要更改时间的背景颜色item在当时li from light grey 在屏幕
  • Protractor e2e 测试表头和 , 标签

    我正在使用下表 我想测试每个标签 th td 标签 该标签中的文本以及该文本的计数 HTML 片段 table class table table striped tbody tr th b a Patient Id a b th th b
  • Angular - 如何从 DOM 中删除我使用过 $compile 的元素?

    我需要的是两个 ng views 的功能 因为我不能 我想更改某些内容的innerHTML 并编译它 我遇到的问题是 当我再次更改内容时 我可以编译 但是 Angular 是否会自行删除绑定 或者我必须手动执行此操作 如果是这样 怎么办 编
  • 我如何能够以两行显示标题,并且每行的字体大小不同?

    我正在使用 Google Chart API 创建时间线图 并希望将图的标题修改为两行 问题 我如何能够显示具有不同字体大小的两线图表标题 电流输出 理想输出 相关研究 我唯一能找到的是有人试图用饼图来做到这一点 但我尝试了但无法使其发挥作
  • 使用 jquery 远程图像属性

    目前我正在尝试获取远程图像宽度 高度 我正在开发一个链接共享模块 就像当你在 Facebook 上粘贴链接时 你可以看到标题 描述和图像 所以我尝试使用 php getimagesize 来获取图像宽度 高度 但速度非常慢 所以我正在考虑使
  • 使用 XPATH(和 PHP)从样式属性中选择背景 url

    我只想从此背景图像样式属性中选择 url 这可以通过 XPATH 实现吗 a href http www test com style background image none test a 我有类似的东西 url xpath gt qu
  • Javascript Promise“then”始终运行,即使 Promise 未能执行

    我希望当调用第二个 then 时不执行第三个 then 但是 即使 Promise 被拒绝 调用第二个 then 并且代码返回 rejected 然后返回 undefined 它仍然调用第三个 then 如何不运行第三个 then 这样 未
  • 如何修改每个JSON对象javascript

    我想修改里面的每个 JSON 值cooldown object cooldown user 1 This user2 0 This 在 Javascript 中使用 for 语句 我研究了好几个小时 只找到了内部的 blocks Edit
  • 如何在react-bootstrap中禁用表单提交的

    在下面的代码片段中 我有许多文本类型的输入表单 如果用户点击 我似乎会得到相同的合成事件 就像他们按下提交按钮一样 我想忽略作为表单提交 只允许一个人按下 提交 按钮 我删除了一些表单组以减少示例 在所有情况下 按钮或 ENTER 键 e
  • 如何将内联 JavaScript 与 Express/Node.js 中动态生成的内容分开?

    对于具有几年 Web 开发经验但没有找到答案的人来说 这是一个有点菜鸟的问题程序员堆栈交换 or Google 我决定在这里问一下 我在用Express网络框架Node js 但这个问题并不特定于任何 Web 框架或编程语言 以下是从数据库
  • 在打字稿中导入 json

    我是 typescript 的新手 在我的项目中 我们使用 typescript2 在我的要求之一中 我需要导入 json 文件 所以我创建了 d ts 文件如下 test d ts declare module json const va
  • 隐藏 Div 的父级

    我只是想隐藏父divcomments section div class content content green div div div 我试过这个 document getElementById comments section pa
  • 防止 iOS 键盘在 cordova 3.5 中滚动页面

    我正在使用 Cordova 3 5 和 jQuery mobile 构建 iOS 应用程序 我在大部分应用程序中禁用了滚动功能 但是 当我选择输入字段时 iOS 键盘会打开并向上滚动页面 我不想要这个功能 由于输入足够高 键盘不会覆盖它 我
  • Angular - CSS - 自定义类型=文件输入,如何使用按钮而不是标签?

    我制作了一个类型为 file 的自定义输入字段 因为我不喜欢默认的输入字段 为了实现这一目标 我做了
  • Chrome 扩展程序在代码中使用 client_secret

    我正在开发具有自己的 oAuth 授权的 Google Chrome 扩展 当然 我必须使用 client id 和 client secret 作为请求令牌 有什么办法可以向用户隐藏这些数据吗 由于此请求只是 javascript 源代码

随机推荐

  • 如何在用C++编写的控制台应用程序中制作加载动画?

    我正在用 C 编写控制台应用程序 并且需要仅使用 ASCII 字符来制作类似 loading gif 的内容 以下是我应该使用的字符列表 这些符号会循环制作一个加载动画 然而 当我写出输出时 它变成了这样 输出线1 输出线2 输出线3 输出
  • 如何在同一个 Spring Data JPA 保存请求中级联创建和存储引用?

    My Parent实体有一个Child实体和集合Elements Entity public class Parent Id private String id OneToOne cascade CascadeType ALL privat
  • Java Swing 内部框架作为对话框 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在 netbeans 中创建了一个
  • 如何使用 RXJS 5.5.2 更新更好地捕获/执行/清空

    正如 ionic Angular 3 9 0 发行说明中所述 https github com ionic team ionic blob master CHANGELOG md https github com ionic team io
  • 我可以将名为“keys”的键添加到哈希表而不覆盖“keys”成员吗

    看来我无法将任意键名添加到hashtable如果具有该名称的成员已经存在 则不会覆盖该成员 我创建一个哈希表 x 并添加两个键 one and two x x one 1 x two 2 然后通过评估显示添加的键 x Keys x Keys
  • 使用 Yup 和 Typescript 的动态验证消息

    我正在尝试使用 Yup 创建一些自定义错误消息 以确定用户的电子邮件地址是否正在使用 我创建了以下承诺来尝试捕获服务器通信错误 test name Email Check test value gt if value includes re
  • “兄弟姐妹来电”是什么意思?

    在海湾合作委员会手册上 优化兄弟呼叫 优化同级和尾递归调用 例如 我知道尾递归调用 int sum int n 返回 n 1 1 n 总和 n 1 然而 兄弟姐妹的称呼是什么意思呢 尾部调用 如果函数调用是另一个函数中执行的最后一个操作 则
  • 按下按键时发出不需要的蜂鸣声

    我有一个接受按键输入的自定义视图 它位于NSScrollView 我已经设置了acceptsFirstResponder为 yes 并且它正在成功接受 keyDown 但每次我敲击一个键时 我都会听到一声蜂鸣声 我确信还需要其他东西 但不记
  • 如何在 Xcode 应用程序组内排列文件?

    在 X 代码中 我添加了 3 个名为 Classes COCOS2d Images 在图像下 我添加了 40 个文件 但 IMAGEs 组下的所有图像均不按名称排序 我想对它们进行排序 但我没有找到任何选项 选择组树中图像组下的所有图像 然
  • 使用 Python 的 Azure 存储帐户 blob 流

    使用最新的 azure storage blob 12 4 0 python 库 我需要在 blob 上打开一个流 而不将其完全下载到内存中 我有 hdf5 文件存储在存储帐户中 使用 h5py 2 10 0 我需要提取一些信息 读取数据而
  • 雄辩的搜索/自定义属性上的位置

    我向模型添加了自定义属性 public function getTouchedAttribute 我想将其添加到查询中 hasMany gt where touched 但显然这不是表中的一列 实现这种行为的最优雅的方式是什么 一种选择 就
  • row_array()['key'] 在 PHP 5.3 中不起作用

    我是否正确 以下语法在 PHP 5 4 中有效 但在 PHP 5 3 中无效 users key class class gt row array name The row array function 是一个返回数组的 CodeIgnit
  • 如何从本地主机将 SQL 数据库导入 R?

    我刚刚使用 MAMP 创建了我的第一个 SQL 数据库 很简单 只是一个宠物列表 我想将它加载到 R 中 这是我写的 install packages dbConnect library dbConnect mypets dbConnect
  • 在同一个元素上并行执行多个 jQuery 效果

    我发现这个问题被问了很多次 但没有一个解决方案对我有用 我有两个想要并行执行的效果 我希望盒子同时淡入和弹跳 http jsfiddle net 6VVUG http jsfiddle net 6VVUG 链接 UI 效果并使用dequeu
  • sqflt8、sqlmoney 和其他本机 SQL 数据类型的二进制存储格式是什么?

    根据文档 可以使用以本机 SQL Server 数据格式格式化的 bcp 导入或导出本机 二进制 数据 例如 SQLFLT8 SQLFLT4 SQLMONEY 或 SQLNUMERIC 有谁知道各种类型的数据格式是什么 或者在哪里可以找到指
  • 基于第一个淘汰赛教程,为什么我的代码没有运行?

    我了解教程在页面上的工作原理 但我正在尝试在本地设置一个计算器来创建计算器 但无法让 knockout js 工作 它不像 Knockout js 在线教程那样初始化或填充 HTML
  • 使用pdfbox从pdf中删除不可见文本

    链接到 pdf https drive google com file d 1F8vrzcABwxVGdN5W 7etQggY5xKtGplU view 当我尝试从上面的 pdf 中提取文本时 我得到了在 evince 查看器中不可见的文本
  • QuickFix 发送时间(字段 52)减少毫秒

    我正在使用 Python API 运行 QuickFix 并使用 FIX4 2 连接到 TT FIX 适配器 我已成功登录并发送市场数据请求 回复都很好啊在我的消息日志 屏幕日志和文件日志 中 我收到一个 SendingTime 字段 52
  • 如何恢复 Clearcase 中签出的文件?

    假设有一个名为 myfile java 的文件 我检查了一下并且正在研究它 在检查之前 我丢失了硬盘 必须购买新硬盘 下次我想签出该文件时 它说我无法签出 它已经在已经消失的旧视图中签出 我必须提到我正在使用 重用开发流选项 选项 我可以做
  • 让 DOM IE 变得友好

    我怎样才能使这个脚本对IE友好 唯一对 IE 不友好的部分是变量scrolledtonum and heightofbody function getheight var myWidth 0 myHeight 0 if typeof win