使用 javascript / jQuery 更好地实现淡入淡出图像交换

2023-11-30

这不是一个具体的问题或错误,而是一个实施问题。

首先我想说,我已经看过很多褪色图像教程,并且对不同类型有基本的了解。我希望这个问题不会与其他数百个有关图像褪色的问题一起被抛弃。

这基本上就是我想要的:使用 javascript(最好是 jQuery)悬停时图像淡入另一个图像。我将创建两个图像 - 一个名为 image.jpg,另一个名为 image_o.jpg。它们将驻留在同一文件夹中。

html 标记如下所示:

<img class="imghover" src="image.jpg" />

javascript 需要我有imghover我想要悬停的所有图像的类。该脚本将检测名为imghover_o.jpg并将其用于悬停淡入淡出过渡中的第二个图像。

不需要 CSS 或background-image为了过渡。

我将在网格中放置几张这样的图像,它们都需要进行淡入淡出过渡。所以,你可以看到我不想为每个图像创建一个新的 CSS 类,或者有额外的脚本和 html 标记,这会变得很麻烦。

以上都是通过这个实现的丹尼尔·诺兰 剧本减去淡入淡出过渡。该脚本只是交换图像而没有褪色,但它是用最少的代码完美设置的。

所以你可以说我只想在丹尼尔·诺兰翻转脚本中添加淡入淡出过渡。是否可以使用 jQuery 重新制作他的脚本?

这可能吗(使用 jQuery)?

我将使用它的网站


您可以获得src图像的属性和用途.replace()替换悬停时的网址!

工作演示

$('.fadein').each(function() {

    var std = $(this).attr("src");
    var hover = std.replace(".jpg", "_o.jpg"); 
    $(this).clone().insertAfter(this).attr('src', hover).removeClass('fadein').siblings().css({
        position:'absolute'
    });
    $(this).mouseenter(function() {
        $(this).stop().fadeTo(600, 0);
    }).mouseleave(function() {
        $(this).stop().fadeTo(600, 1);
    });
});

Or like:

THIS

$('.fadein').each(function() {  
    var std = $(this).attr("src");
    var hover = std.replace(".jpg", "_o.jpg");
    $(this).wrap('<div />').clone().insertAfter(this).attr('src', hover).removeClass('fadein').siblings().css({
        position:'absolute'
    });
    $(this).mouseenter(function() {
        $(this).stop().fadeTo(600, 0);
    }).mouseleave(function() {
        $(this).stop().fadeTo(600, 1);
    });
});

该脚本的作用:

  • var std = $(this).attr("src");获取SRC属性
  • 将 imageRed.jpg 替换为 imageRed_o.jpg :var hover = std.replace(".jpg", "_o.jpg");
  • 我们必须将第一张图像包装到一个元素中$(this).wrap('<div />')
  • 现在我们可以克隆该图像并给它一个不同的src并将其放在第一个的下方.clone().insertAfter(this).attr('src', hover)
  • 我们必须从第二个图像中删除“.fadein”类(只有第一个图像才会有该类!).removeClass('fadein')
  • 克隆该图像后,我们通过为其指定 css 绝对位置来将图像设置为第二个图像:.siblings().css({position:'absolute'});
  • 与鼠标进入/离开相比,我们可以只玩第一张图像的可见性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 javascript / jQuery 更好地实现淡入淡出图像交换 的相关文章

  • 如何从 URL 字符串中删除某些参数?

    我有这个var存储表示充满参数的 URL 的字符串 我正在使用 AngularJS 我不确定是否有任何有用的模块 或者可能使用纯 JavaScript 来删除不需要的 URL 参数而无需使用正则表达式 例如我需要删除 month 05并且
  • Chrome 扩展程序中的后台脚本到底何时运行?

    在我的 chrome 扩展中 我有一个后台脚本 它将使用XMLHttpRequest note that this code is in the global scope i e outside of any function also n
  • 代码点火器 JSON

    你好 我使用 codeigniter 然后我从控制器中的数据库中回显输出 然后在我的视图文件中执行以下操作 但它没有显示任何内容 S 我的模型文件 function forumList this gt db gt select oversk
  • 为什么“dtoa.c”包含这么多代码?

    我将是第一个承认我对低级编程的整体知识有点稀疏的人 我理解许多核心概念 但我不经常使用它们 话虽这么说 我对需要多少代码感到非常惊讶dtoa c http www netlib org fp dtoa c 在过去的几个月里 我一直致力于用
  • JSDoc:如何在生成的文档中包含自定义 css 文件模板?

    JS文档docs https jsdoc app about configuring default template html say 将图像目录复制到输出目录 复制全部 将 myproject static 中的静态文件复制到输出目录
  • History.replaceState 仍然向“浏览历史记录”添加条目

    具体来说 调用以下代码片段 history replaceState undefined undefined value 正确地不会影响当前页面的后退按钮行为 但是will在 浏览历史记录 页面添加一个条目 这是我不想要的 下图是 Chro
  • jQuery AJAX“multipart/form-data”未发送数据?

    我不知道为什么我无法让 jQuery 传递上传数据 因为 AJAX 对象似乎已正确配置 并且正在发送正确的 Content Type MIME Type 标头 我尝试了两种不同形式的请求 一种是在文字中包含 FormData 对象 另一种是
  • 使用 ES6 模块导出/导入单个类方法?

    假设我有一个像这样的简单课程fileA js class foo constructor x this name x fooMethod x return x hello 我想导入并使用fooMethod in fileB js像这样 im
  • Bootstrap:下拉菜单无法通过 jQuery 单击打开

    我正在创建一个包含多行的表 所有行都有一个 选项 按钮 该按钮应该显示下拉上下文菜单 为了使代码更短 我使用了一个div以便将其重用为上下文菜单的通用标记 我正在使用 Bootstrap 5 1 3 和 jQuery 3 6 0 以下是我的
  • 如何在参数上使用 .reduce() 而不是特定的数组或对象?

    我想定义一个函数 flatten 将多个元素展平为一个数组 我知道以下是不可能的 但本质上我想这样做 var flatten function var flattened arguments reduce function acc elem
  • t /= d 是什么意思? Python 和错误

    t current time b begInnIng value c change In value d duration def easeOutQuad swing function x t b c d alert jQuery easi
  • Rxjs 可观察等待直到满足某些条件

    我有以下重试逻辑来重试操作 对于单个请求来说它工作得很好 对于多个正在进行的请求 我想在重试之前等待现有的重试逻辑完成 handleError errors Observable
  • Web浏览器控件:如何捕获文档事件?

    我正在使用 WPF 的 WebBrowser 控件加载一个简单的网页 在这个页面上我有一个锚点或一个按钮 我想在我的应用程序后面的代码中 即在 C 中 捕获该按钮的单击事件 WebBrowser 控件是否有办法捕获加载页面元素上的单击事件
  • CryptoJS 和 Pycrypto 一起工作

    我正在使用 CryptoJS v 2 3 加密 Web 应用程序中的字符串 并且需要在服务器上使用 Python 对其进行解密 因此我使用 PyCrypto 我觉得我错过了一些东西 因为我无法让它工作 这是JS Crypto AES enc
  • 如何在 OpenLayers 3 中删除监听器

    我做了一个copy https gis stackexchange com questions 178222 how to delete a listener in openlayers 3我在 stackoverflow 上提出的问题 因
  • Tween JS 基础知识之三个 JS 立方体

    我是 Tween JS 的新手 尝试使用 Tween 制作一个向右移动的简单动画 下面是我在 init 函数中的代码 我使用的是三个 JS var geometry new THREE CylinderGeometry 200 200 20
  • 在 中动态添加链接样式表 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 如何将链接
  • 如何在 ChartJS 中创建自定义图例

    我需要使用 ChartJS 库为我的圆环图创建自定义图例 我已经使用 ChartJS 提供的默认图例创建了甜甜圈 但我需要一些修改 我希望其价值高于汽车名称 另外 我不喜欢粘性图例 我想将其与甜甜圈分开 这样我就可以更改字体 框的样式 例如
  • jQuery fadeOut 一个 div,fadeIn 另一个 div 在其位置

    我正在尝试一个简单的 jQuery 脚本来淡出一个 div 并淡入另一个 div 但由于某种原因 第一个 div 永远不会淡出 这可能是代码的一个明显问题 但我似乎无法弄清楚 div div div div
  • 使用 stopPropagation() 处理 React 事件委托

    我有一个 React 项目 应该可以放置在任何网站上 我的想法是 我托管一个 javascript 文件 人们放置一个具有特定 ID 的 div 然后 React 在该 div 中进行渲染 到目前为止 除了点击事件之外 这是有效的 这些事件

随机推荐

  • 添加CombinedResourceHandler后pe:ckEditor不再工作

    I added OmniFaces使用CombinedResourceHandler 但现在PrimeFaces 扩展
  • 如何将协议定义为 @ObservedObject 属性的类型?

    我有一个依赖于视图模型的 swiftui 视图 视图模型有一些已发布的属性 我想为视图模型层次结构定义一个协议和默认实现 并使视图依赖于协议而不是具体类 我希望能够写出以下内容 protocol ItemViewModel Observab
  • 导入 .p12 文件中包含的所有证书

    我有一个 p12我的 ASP NET 应用程序通过 HTTPS 连接到 Web 服务的文件 我正在尝试导入 p12文件保存到本地计算机 我的商店中 这 p12 file 包含多个证书 一个包含私钥 另一个是 CA 证书以完成链 目前 我正在
  • Prestashop - 如何写入日志文件?

    我应该在 Prestashop 模块中使用什么 php 代码来写入日志文件 我用过 Logger addLog something 1 但它不起作用 您还可以使用以下代码将日志存储在文件中 logger new FileLogger 0 0
  • HTML5 拖放 拖动时更改图标/光标

    我想知道当我拖动 dragover dragenter 图标 光标时如何更改例如拒绝或允许部分 当然 我可以用光标移动绝对定位的 DOM 部分 但我对原生 HTML5 解决方案感兴趣 Thanks 你在追寻掉落效果 在dragstart中初
  • 按模式递归添加文件

    如何通过位于不同目录中的模式 或全局 递归添加文件 例如 我想添加A B C foo java and D E F bar java 以及其他几个 java 文件 使用一个命令 git add java 不幸的是 这并没有按预期工作 您可以
  • lstat:无法访问另一个目录中的文件

    我正在尝试编写类似 ls 的程序 产生类似的输出ls l包含文件的权限 所有者 时间和名称 如果我通过的话效果很好 或什么都没有 所以它适用于当前目录 但是如果我将任何其他目录传入或传出当前目录 perror说它 无法访问 文件 请帮我找出
  • 使用 XAMPP 启用 SSL

    我一直在尽可能地遵循本指南http robsnotebook com xampp ssl encrypt passwords 然而 每当我浏览到以 https 开头的页面时 apache 服务器都会回复 404 未找到对象 我缺少什么设置
  • Python 3.2:cx_freeze 编译我的程序,但处于调试模式

    我正在使用 Python 3 2 和 Pygame 制作游戏 我已经成功地使用了cx freeze将所有内容捆绑到可执行文件中 然后运行 美好的 唯一的问题是 即使当我通过 OO标记我的setup py 我的游戏是在调试模式下编译的 我已经
  • NHibernate / MySQL 字符串连接

    我有一个 nhibernate linq 查询 如下所示 from b in session Query
  • 如何以编程方式在 Active Directory 中搜索打印机

    尝试使用 C 在 Active Directory 中查找打印机 共享 这是我适用于用户的示例代码 但是我看不到能够找到使用相同概念的打印机 我是 Active Directory 新手 DirectoryEntry entry new D
  • httprouter配置NotFound

    我在用着httprouter对于 API 我正在尝试找出如何处理 404 它确实说在docs404 可以手动处理 但我真的不知道如何编写自己的自定义处理程序 在我的其他路线之后我尝试了以下方法 router NotFound pageNot
  • 在混合 MVC/WebForms Web 应用程序中配置授权

    我目前正在将 WebForms MVP 应用程序的一些组件迁移到 MVC 中 到目前为止 除了授权之外 一切正常 无论如何 当我导航到 MVC 版本的登录页面时 我会被重定向到在Web config
  • Maven 需要为托管依赖项指定插件版本 spring-boot-configuration-processor

    我有一个带有模块的 Maven 项目 我的根项目的父项目是spring boot starter parent 它提供了大量的依赖管理 在我的模块中 我使用spring boot configuration processor 这是由管理的
  • 如何在 JavaScript 中扩展 XMLHttpRequest 对象?

    我想扩展现有的XMLHttpRequest对象 以便它可以与所有浏览器一起使用 现在我已经经历了JS继承然而在开始之前我想看看很好的例子 HTML5 有上传和进度事件的东西 我想在继承的新对象中实现这些东西 即使不支持该功能 也可以通过不向
  • 创建 Java 数组时使用尖括号和方括号方法的区别

    我最近刚刚开始使用 Java 并开始接触数组 据我所知 有两种创建数组的方法 对于有 python 背景的我来说 第一种方法最有意义 type ArrayName i e int agesOfParticipants 然而 许多在线资源使用
  • 保护 PhoneGap 中的敏感信息?

    我有许多想要保护的 REST API 密钥 Google Places 等 阅读 Google Groups 等 似乎混淆不是解决方案 使用钥匙串也不是解决方案 那么当 IPA 包可以解压和读取时 您建议如何加密 保护敏感信息 我不想用 O
  • android-gradle-plugin 1.2.2:标记ignoreFailures导致任务connectedAndroidTest出错

    我更新了我的 build gradle 以使用 android gradle 插件 1 2 2 而不是 1 1 0 dependencies classpath com android tools build gradle 1 2 2 之后
  • 不从 Function App 向 Application Insights 发送数据

    我有 Function App 和 Application Insight 服务 我注意到我的应用程序发送的数据量很大并且产生很大的成本 我可以禁用 完全停止向 AI 发送数据而不删除APPINSIGHTS INSTRUMENTATIONK
  • 使用 javascript / jQuery 更好地实现淡入淡出图像交换

    这不是一个具体的问题或错误 而是一个实施问题 首先我想说 我已经看过很多褪色图像教程 并且对不同类型有基本的了解 我希望这个问题不会与其他数百个有关图像褪色的问题一起被抛弃 这基本上就是我想要的 使用 javascript 最好是 jQue