实现鼠标悬停卡片3D视差效果并在鼠标移开后恢复初始位置

实现鼠标悬停卡片3d视差效果并在鼠标移开后恢复初始位置

本文将介绍如何使用JavaScript和CSS实现一个鼠标悬停时产生3D视差效果的卡片,并在鼠标移开后恢复到初始状态。通过监听mousemove事件来计算鼠标位置,并根据鼠标位置动态调整卡片的旋转角度,从而实现视差效果。同时,监听mouseout事件,在鼠标移开时将卡片旋转角度重置为0,使其恢复到初始状态。

实现步骤

HTML 结构:

首先,我们需要一个基本的 HTML 结构来创建一个卡片。这个卡片包含一个 div 元素,用于应用视差效果,以及一个 img 元素,用于显示图像。

@@##@@

CSS 样式:

为了使卡片正常显示,并为视差效果提供基础,我们需要添加一些 CSS 样式。width: fit-content 可以让卡片宽度自适应内容。

.card-active {  width: fit-content;}

JavaScript 交互:

接下来,我们使用 JavaScript 来监听鼠标事件,并根据鼠标位置调整卡片的旋转角度。

*   **获取元素:** 首先,获取具有 `card-active` 类的元素。*   **监听 `mousemove` 事件:**  当鼠标在卡片上移动时,计算鼠标相对于窗口中心的位置,并根据该位置计算旋转角度。使用 `transform` 属性来旋转卡片。*   **监听 `mouseout` 事件:** 当鼠标移出卡片时,将卡片的旋转角度重置为 0,使其恢复到初始状态。
let cardParallx = document.querySelector('.card-active');cardParallx.addEventListener('mousemove',(e)=>{    let x =(window.innerWidth/2 - e.pageX)/30;    let y =(window.innerHeight/2 - e.pageY)/30;    cardParallx.style.transform =`rotateX(${-y}deg) rotateY(${-x}deg)`;});cardParallx.addEventListener('mouseout', (e) => {    let x =(window.innerWidth/2 - e.pageX)/30;    let y =(window.innerHeight/2 - e.pageY)/30;    cardParallx.style.transform =`rotateX(0) rotateY(0)`;});

完整代码示例

.card-active {  width: fit-content;}
@@##@@
let cardParallx = document.querySelector('.card-active');cardParallx.addEventListener('mousemove',(e)=>{ let x =(window.innerWidth/2 - e.pageX)/30; let y =(window.innerHeight/2 - e.pageY)/30; cardParallx.style.transform =`rotateX(${-y}deg) rotateY(${-x}deg)`;});cardParallx.addEventListener('mouseout', (e) => { let x =(window.innerWidth/2 - e.pageX)/30; let y =(window.innerHeight/2 - e.pageY)/30; cardParallx.style.transform =`rotateX(0) rotateY(0)`;});

注意事项

性能优化: 如果卡片数量较多,频繁的 transform 操作可能会影响性能。可以考虑使用 requestAnimationFrame 来优化动画效果。角度调整: 旋转角度的计算可以根据实际需求进行调整,以获得最佳的视差效果。 /30 这个值可以根据需要调整,数值越小,旋转幅度越大。兼容性: transform 属性在现代浏览器中都有良好的支持,但在旧版本浏览器中可能存在兼容性问题。可以使用 CSS 前缀来解决兼容性问题。

总结

通过监听鼠标的 mousemove 和 mouseout 事件,并结合 CSS 的 transform 属性,我们可以轻松实现一个具有 3D 视差效果的卡片,并在鼠标移开后恢复到初始状态。 这种效果可以为用户带来更加生动的交互体验,提升网站的吸引力。 记住,根据实际需求调整角度和优化性能,以获得最佳效果。

实现鼠标悬停卡片3D视差效果并在鼠标移开后恢复初始位置实现鼠标悬停卡片3D视差效果并在鼠标移开后恢复初始位置

以上就是实现鼠标悬停卡片3D视差效果并在鼠标移开后恢复初始位置的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1573174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月22日 15:14:00
下一篇 2025年12月22日 15:14:06

相关推荐

  • 使用JavaScript和CSS实现图片悬停时改变下方文本内容的效果

    本文将介绍如何使用JavaScript和CSS,在鼠标悬停在不同图片上时,动态改变下方文本框中的内容。通过监听鼠标事件,并结合CSS的显示与隐藏属性,实现根据悬停图片的不同,显示对应文本的功能。本文将提供详细的代码示例和步骤说明,帮助读者快速掌握这种交互效果的实现方法。 实现原理 核心思想是利用 J…

    2025年12月22日 好文分享
    000
  • 使用HTML Input Type Number接受逗号作为小数分隔符

    本文旨在解决HTML input type=”number” 元素在处理小数分隔符时遇到的问题,尤其是在德语等使用逗号作为小数分隔符的地区。我们将探讨如何通过HTML属性和JavaScript技巧,使input type=”number” 能够正确解析…

    2025年12月22日
    000
  • 实现鼠标悬停卡片3D视差效果及恢复初始位置

    本文将指导你如何使用JavaScript和CSS创建一个具有3D视差效果的卡片,并在鼠标移出卡片时使其平滑地恢复到初始位置。我们将详细讲解实现步骤,并提供完整的代码示例,帮助你轻松掌握该效果的实现方法。 实现步骤 要实现鼠标悬停卡片3D视差效果,并使其在鼠标移出后恢复到初始位置,需要以下步骤: HT…

    2025年12月22日
    000
  • 使用 JavaScript 和 CSS 实现图片悬停时动态改变文本内容

    本文将介绍如何使用 JavaScript 和 CSS 实现当鼠标悬停在不同图片上时,动态改变下方文本内容的效果。通过监听鼠标事件并结合 CSS 样式控制,可以实现简单而直观的交互体验,适用于产品展示、信息提示等多种场景。本文提供详细的代码示例和步骤说明,帮助开发者快速实现该功能。 要实现图片悬停时改…

    2025年12月22日 好文分享
    000
  • 使用 JavaScript 和 CSS 实现图片悬停时动态改变下方文本内容

    本文将详细介绍如何使用 JavaScript 和 CSS 技术,实现当鼠标悬停在不同图片上时,动态改变下方文本内容的效果。我们将通过示例代码,逐步讲解实现过程,并提供注意事项,帮助开发者快速掌握该技巧,提升用户交互体验。 实现原理 该效果的核心在于监听图片的 mouseover(鼠标悬停)和 mou…

    2025年12月22日 好文分享
    000
  • 图像悬停联动文本切换:JavaScript 实现指南

    本文档详细介绍了如何使用 JavaScript 实现当鼠标悬停在不同图像上时,动态改变下方文本内容的效果。通过监听鼠标事件,并结合 CSS 控制文本的显示与隐藏,提供了一种简单有效的解决方案,适用于需要在图像交互时展示不同信息的场景。 在网页设计中,经常会遇到需要根据用户的交互行为来动态改变页面内容…

    2025年12月22日 好文分享
    000
  • PHP 文件上传错误处理:在输入字段旁显示错误信息

    本文旨在提供一种在 PHP 文件上传过程中,当发生错误时,将错误信息直接显示在对应文件上传输入字段旁边的方法。通过改进错误处理机制,使用数组存储错误信息,并将其与相应的输入字段关联,从而提升用户体验,使得用户能够快速定位并解决上传问题。 在处理文件上传时,清晰地向用户展示错误信息至关重要。以下是一个…

    2025年12月22日
    000
  • 使用 PHP 处理文件上传错误并在表单中显示

    这段代码演示了如何在 PHP 文件上传过程中捕获错误,并将这些错误信息清晰地显示在对应的文件上传输入框旁边。通过使用数组来存储错误信息,并结合 HTML 结构,可以有效地向用户反馈上传失败的原因,从而提升用户体验。 错误处理与显示 在处理文件上传时,及时有效地向用户反馈错误信息至关重要。PHP 的 …

    2025年12月22日
    000
  • JavaScript根据URL参数动态预设下拉菜单选项

    本教程详细阐述如何利用纯JavaScript根据URL查询参数动态设置HTML下拉菜单()的选中项。通过解析URL获取特定参数值,然后将其赋给目标元素的value属性,实现页面加载时下拉菜单的自动匹配和预设,提升用户体验。 在网页开发中,我们经常需要根据用户行为或url中的信息来动态调整页面内容。一…

    2025年12月22日
    000
  • 如何使用JavaScript根据URL参数预设下拉菜单选中项

    本教程详细介绍了如何利用纯JavaScript从当前URL中获取特定查询参数的值,并将其应用于HTML 下拉菜单,使其自动选中与该参数值对应的选项。通过简单的DOM操作和URL API,开发者可以轻松实现页面加载时下拉菜单的动态预设,提升用户体验,避免使用jQuery。 一、获取URL查询参数 在W…

    2025年12月22日
    000
  • 通过URL参数动态设置HTML Select元素选中值

    本文详细介绍了如何使用纯JavaScript根据URL中的查询参数来自动设置HTML 下拉菜单的选中项。通过解析URL获取特定参数值,然后将其赋给目标 元素的 value 属性,即可实现页面加载时下拉菜单的预设。这种方法无需jQuery,简洁高效,适用于需要动态控制表单元素的场景。 在web开发中,…

    2025年12月22日
    000
  • 自定义浏览器自动填充与搜索建议样式:CSS与JavaScript实践

    本文深入探讨如何在不禁用%ignore_a_1%原生功能的前提下,自定义搜索框下自动弹出的历史搜索词或自动填充建议的样式。针对浏览器提供的自动填充和建议框,我们将介绍如何利用特定的CSS伪类(如-webkit-autofill)来调整其输入框本身的样式。文章将明确指出浏览器原生建议下拉框的样式限制,…

    2025年12月22日
    000
  • 如何使用CSS自定义浏览器自动填充建议的样式

    浏览器提供的自动填充功能极大地提升了用户的搜索效率,但其默认样式往往与自定义的搜索框风格不符。本文将介绍如何使用CSS来定制这些自动填充建议框的样式,使其与自定义搜索框风格保持一致,从而提升用户体验。 使用 :-webkit-autofill 伪类选择器 :-webkit-autofill 是一个 …

    2025年12月22日
    000
  • 控制输入框自动填充样式的CSS技巧

    本文深入探讨了如何利用CSS对浏览器原生自动填充(Autofill)的输入框进行样式定制。我们将重点介绍:-webkit-autofill等伪类选择器,它们允许开发者在输入框被浏览器自动填充后,修改其背景、文本颜色等视觉属性。文章还将澄清浏览器自动填充建议下拉框与输入框本身样式之间的区别,并提供实用…

    2025年12月22日
    000
  • 使用 HTML Input Type Number 接受逗号作为小数分隔符

    本文介绍了如何使用 HTML input type=”number” 元素,并结合 pattern 属性,使其能够接受逗号作为小数分隔符,以满足特定地区(如德国)用户的需求。同时,探讨了如何在用户输入逗号时,将其自动转换为句点(.),从而保证数据格式的正确性。 使用 patt…

    2025年12月22日
    000
  • HTML Input Type Number 使用逗号作为小数分隔符的解决方案

    本文旨在解决 HTML 元素在处理小数分隔符时遇到的问题,尤其是在面向德语用户等习惯使用逗号作为小数分隔符的场景下。我们将探讨如何通过 HTML5 的 pattern 属性和 JavaScript 来实现逗号作为小数分隔符的正确输入和验证,以及如何在提交时将逗号转换为句点,以确保数据格式的统一性。 …

    2025年12月22日
    000
  • 实现鼠标悬停卡片3D视差效果并在鼠标移开后恢复初始状态

    本文将指导你如何使用JavaScript和CSS创建一个具有3D视差效果的卡片,并在鼠标移出卡片区域后,使其平滑地恢复到初始状态。通过监听mousemove和mouseout事件,并动态修改卡片的transform属性,实现这一效果。本文提供完整的代码示例,助你轻松掌握该技巧。 创建卡片HTML结构…

    2025年12月22日
    000
  • 实现鼠标悬停时的 3D 视差效果并在鼠标移开后恢复初始位置

    本文将指导你如何使用 JavaScript 和 CSS 创建一个简单的 3D 视差效果,该效果会在鼠标悬停在元素上时产生,并在鼠标移开后使元素恢复到其原始位置。我们将提供完整的代码示例和详细的步骤说明,帮助你轻松实现这一效果。 实现步骤 HTML 结构 首先,我们需要一个 HTML 结构来展示我们的…

    2025年12月22日
    000
  • 使用JavaScript和CSS实现图片悬停时改变下方文本内容

    本文将介绍如何使用JavaScript和CSS,在鼠标悬停在不同图片上时,动态改变下方文本框中显示的内容。核心思路是利用JavaScript监听图片的mouseover和mouseout事件,并根据当前悬停的图片,显示对应的文本内容,隐藏其他文本。本文提供完整的HTML、CSS和JavaScript…

    2025年12月22日 好文分享
    000
  • 使用 JavaScript 获取 URL 参数并将其添加到页面链接

    本文将介绍如何使用 JavaScript 从 URL 中提取指定参数,并动态地将其添加到页面上的链接。此方法适用于静态网站,无需服务器端脚本支持,可以方便地实现语言切换等功能,例如实现语言选择后返回到之前的页面。 获取 URL 参数 首先,我们需要使用 JavaScript 获取 URL 中的参数。…

    2025年12月22日
    000

发表回复

登录后才能评论
关注微信