如何将下面的JS转换为JQuery? [复制]

2024-02-26

我很难将以下 JS 转换为 JQuery。

我的项目有一个#HoverMediv 将其悬停在其中以显示其中的内容#hidden div.

我有一个运行良好的 JS 脚本(这个问题,作者:anied https://stackoverflow.com/questions/39939485/js-scroll-a-hover-related-div/39939793?noredirect=1#comment67161305_39939793)。我尝试重写document.getElementById("HoverMe"); to $("#HoverMe").hover(function() {等等,但我不能再进一步了,因为我对 jQuery 的理解为零。

这就是我的 div 的样子

                      ------------     --------- _
                     |  #HoverMe   |  | #hidden |S| //hover #HoverMe to display #hidden                           
                      ------------    | --------|R|
                                      | car.name|O|       
                                      |---------|L|
                                      | car.name|L|
                                       ---------|B|
                                      | car.name|A|
                                      |---------|R|
                                      | car.name| |
                                       ---------|_|
<div>
    <div id="HoverMe" style="width: 100px; background: green">
        Car
    </div>
    <div id="hidden" style="overflow:auto; height:100px; position: absolute; background-color: red; display: none">

        @foreach (var car in Model.Car) { @* Where the #hidden list get its content *@
            <div>@car.Name</div>
       }

    </div>
</div>

如何将下面的JS转换为JQuery?

    var hoverEle = document.getElementById("HoverMe");
    var popupEle = document.getElementById("hidden");
    var timeoutId;

    function showPopup() {
        var hoverRect = hoverEle.getBoundingClientRect(); // get the position of the hover element
        popupEle.style.left = (hoverRect.right + 16) + "px";
        popupEle.style.top = hoverRect.top + "px";
        popupEle.style.display = "block";
    }

    function hidePopup() {
        popupEle.style.display = "none";
    }

    hoverEle.addEventListener('mouseover', function () {
        showPopup();
    }, false);

    hoverEle.addEventListener('mouseout', function () {
        timeoutId = window.setTimeout(function () {
            hidePopup();
        }, 1500);
    }, false);

    popupEle.addEventListener('mouseover', function () {
        if (timeoutId) {
            window.clearTimeout(timeoutId);
        }
    }, false);

    popupEle.addEventListener('mouseout', function () {
        timeoutId = window.setTimeout(function () {
            hidePopup();
        }, 1500);
    }, false);

</script>

因此,将 JS 转换为 jQuery 的技巧:

  • 您可以使用简单的 CSS 选择器来选择元素。所以var hoverEle = document.getElementById("HoverMe");变成var hoverEle = $('#HoverMe');
  • 添加事件监听器是通过利用 jquery 来完成的.on http://api.jquery.com/on/方法。所以hoverEle.addEventListener('mouseover', function () { showPopup(); }, false);变成(没有任何委托)hovereEle.on('mouseenter', function () { showPopup(); });
  • CSS 可以使用以下命令进行更改.css http://api.jquery.com/css/ method
  • 可以使用简单的隐藏和显示来切换.hide http://api.jquery.com/hide/ and .show http://api.jquery.com/show/方法。

另外,一个很棒的 jQuery 快速参考/备忘单是https://oscarotero.com/jquery/ https://oscarotero.com/jquery/

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

如何将下面的JS转换为JQuery? [复制] 的相关文章

随机推荐

  • css动画为什么会改变z-index? [复制]

    这个问题在这里已经有答案了 为什么动画会改变 z index 如果您查看 jsfiddle 您会看到红色图像位于顶部 但如果注释掉动画 则蓝色图像位于顶部 即使有动画 如何才能使蓝色图像始终位于顶部 jsfiddle http jsfidd
  • 删除字符串中重复字符(单词)的最佳方法?

    删除字符串中任何重复字符和由空格分隔的字符集的最佳方法是什么 我认为这个例子更好地解释了这一点 foo h k k h2 h 应该变成 foo h k h2 order not important 其他例子 foo s s k become
  • 在 Windows 事件查看器中诊断 CLR 错误

    我们有一个 NET 桌面应用程序在生产中崩溃了 我们如何诊断错误 我想知道发生的异常类型 错误消息和堆栈跟踪 因为我们的代码没有处理异常 所以我们收到了 此应用程序遇到问题 需要关闭 Windows 消息框 唯一的选择就是关闭 没有调试按钮
  • 字符串匹配不同大小的 data.frames

    我有两个不同大小的 data frame 我正在寻找最有效的方法来将字符串从一个 data frame 匹配到另一个 data frame 并提取一些相关信息 这是一个例子 两个初始 data frames a 和 b 以及所需的结果 a
  • 如何使图像大小适应html表格中的行高

    我正在尝试制作一个强大的 html 签名以在 Thunderbird 中使用 我所说的稳健是指它不仅在 Thunderbird 中看起来正确 而且在我向其发送邮件的其他邮件客户端中也必须正确 例如 我使用 Gmail 进行了测试 布局非常简
  • ASP.Net Core 中的 AntiXSS

    Microsoft Web 保护库 AntiXSS https wpl codeplex com 已达到使用寿命 该页面指出 在 NET 4 0 中 框架中包含了一个 AntiXSS 版本 可以通过配置启用 在 ASP NET v5 中 基
  • PHP + Comet(长轮询)扩展/主机

    我使用 PHP MySQL 开发了一个应用程序 该应用程序使用了彗星技术 即长轮询 概念验证效果很好 但我预计流量会快速达到数千个同时连接 网络服务器上的数千个开放连接 我没有能力设置自己的服务器 例如使用 lighttpd 并且通常依赖简
  • 将自定义侦听器添加到 Kotlin 类的正确方法

    我是 Kotlin 菜鸟 第三天 正在尝试向我的班级添加一个侦听器 我目前正在使用 lambda 如下例所示 它们工作得很好 Declare callback class Controller var onAction gt Use cal
  • 有符号和无符号整数表达式的比较

    我刚刚开始使用 OpenGL 这是我的第一个代码 OpenGL hello program include
  • 如何确定复选框列表已选中/选中 -

    当我执行代码时 我得到 4 个复选框 并且我选中 选择了所有 4 个复选框 当我尝试调试代码时 它确实算作我有 4 个复选框 但所有 4 个复选框都被选中 false 我在代码中缺少什么
  • 检测项目中的循环依赖

    上次我在我的项目中发现了循环依赖问题 我解决了我的问题 但是我希望将来避免这种情况 我想到了在我的所有项目中发现循环依赖项并给我反馈的插件 Example 文件a js var functionFromA require b js cons
  • 如何增加 SwiftUI 选择器中显示的最大行数?

    我正在尝试创建一个 SwiftUI 选择器 用户可以使用它来选择 1000 到 20000 之间的数字 以 1000 为增量 例如 1000 2000 3000 20000 默认情况下 SwiftUI 选择器只能容纳 10 行文本 如何允许
  • 保存数据的最佳方法 - 首选项、sqlite、可序列化还是其他?

    我一直在研究在回合之间保存游戏数据的替代方法 并且想知道是否有人可以为我指明正确的方向 我有大约 32k 的数据必须在 onPause 期间保存 由于数据量巨大 我排除了偏好 我花了几天时间研究 SQLite 但无法在不到两秒的时间内保存数
  • Shellcode:执行 2 次 execve() 调用

    我正在尝试用汇编语言编写 shellcode 我需要执行一个 usr bin killall命令与 usr bin wget命令 我的两个命令都在 shellcode 中完美运行execve 系统调用 但现在我想将这两个结合起来 但这是不可
  • 在 Node.js 中从 SQLite 获取表列表

    下面的代码仅返回第一个表的名称 如何获取现有表中所有可用表名称的列表sqlite const sqlite3 require sqlite3 verbose const db new sqlite3 Database path to myd
  • 如何提高 OpenMP 代码的性能?

    我目前正在尝试提高我的代码的并行性能 但我对 OpenMP 仍然是新手 我必须迭代一个大容器 在每次迭代中从多个条目读取并将结果写入单个条目 下面是我正在尝试做的一个非常简单的代码示例 data是一个指向数组的指针 其中存储了许多数据点 在
  • 使用 pip 安装 Twisted for Python:错误:Microsoft Visual Studio 失败,退出状态为 2

    当我尝试在运行 python3 7 的 Windows 10 计算机上安装 python 包 Twisted 时 我无法从 tarz 文件构建 Wheel 最终得到以下输出 C Program Files x86 Microsoft Vis
  • 如何使用 knit 和 pandoc 在 R Markdown 中包含 DT 数据表的 js 依赖项

    有没有办法在 RStudio 之外使用 DT 生成的数据表来编译 RMarkdown 文档 我试图在 RMarkdown 文档中包含一个数据表小部件 然后我想使用 knit 和 pandoc 将其转换为 html 这对于 RStudio 来
  • Datetime.ParseExact“字符串未被识别为有效的日期时间”错误

    为什么我无法解析这样的字符串 DateTime date DateTime ParseExact 23 02 2016 08 59 35 dd MM yyyy HH mm ss CultureInfo InvariantCulture 它抛
  • 如何将下面的JS转换为JQuery? [复制]

    这个问题在这里已经有答案了 我很难将以下 JS 转换为 JQuery 我的项目有一个 HoverMediv 将其悬停在其中以显示其中的内容 hidden div 我有一个运行良好的 JS 脚本 这个问题 作者 anied https sta