跟随鼠标移动浮动显示大图展示的特效

原生JS:跟随鼠标移动洒落星星的特效 原生JS:跟随鼠标移动洒落星星的特效。参考网络文档,发现计时器一直跑,容易内存溢出,而且长时间网页很卡。 优化后: - 弃用 setInterval,采用 setTimeout,防止内存溢出 - 鼠标滑动开启4秒倒计时。自动清理之前的计时器 - 便捷引用,动态创建canvas标签,不需要额外的标签、css等 --- 参考文档: [使用JS实现一个跟随鼠标移动洒落的星星特效:https://www.jb51.net/article/279141. 阅读详情


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>跟随鼠标移动(大图展示)</title>
<style type="text/css">
html,body{overflow:hidden;}
body,div,ul,li{margin:0;padding:0;}
#box ul{width:768px;height:172px;list-style-type:none;margin:10px auto;}
#box li{float:left;width:170px;height:170px;cursor:pointer;display:inline;border:1px solid #ddd;margin:0 10px;}
#box li.active{border:1px solid #a10000;}
#box li img{width:170px;height:170px;vertical-align:top;}
#big{position:absolute;width:400px;height:400px;border:2px solid #ddd;display:none;}
#big div{position:absolute;top:0;left:0;width:400px;height:400px;opacity:0.5;filter:alpha(opacity=50);background:#fff url(http://js.fgm.cc/learn/lesson5/img/loading.gif) 50% 50% no-repeat;}
</style>
<script type="text/javascript">
window.onload = function ()
{
 var aLi = document.getElementsByTagName("li");
 var oBig = document.getElementById("big");
 var oLoading = oBig.getElementsByTagName("div")[0];
 var i = 0;
 
 for (i = 0; i < aLi.length; i++)
 {
  aLi[i].index = i;
  //鼠标划过, 预加载图片插入容器并显示
  aLi[i].onmouseover = function ()
  {
   var oImg = document.createElement("img");
   //图片预加载
   var img = new Image();   
   img.src = oImg.src = aLi[this.index].getElementsByTagName("img")[0].src.replace(".jpg","_big.jpg");
   //插入大图片
   oBig.appendChild(oImg);
   //鼠标移过样式
   this.className = "active";
   //显示big
   oBig.style.display = oLoading.style.display = "block";
   //判断大图是否加载成功
   img.complete ? oLoading.style.display = "none" : (oImg.onload = function() {oLoading.style.display = "none";})  
  };
  //鼠标移动, 大图容器跟随鼠标移动
  aLi[i].onmousemove = function (event)
  {
   var event = event || window.event;
   var iWidth = document.documentElement.offsetWidth - event.clientX;
   //设置big的top值
   oBig.style.top = event.clientY + 20 + "px";
   //设置big的left值, 如果右侧显示区域不够, 大图将在鼠标左侧显示.
   oBig.style.left = (iWidth < oBig.offsetWidth + 10 ? event.clientX - oBig.offsetWidth - 10 : event.clientX + 10) + "px";
   
  };
  //鼠标离开, 删除大图并隐藏大图容器
  aLi[i].onmouseout = function ()
  {
   this.className = "";
   oBig.style.display = "none";
   //移除大图片
   oBig.removeChild(oBig.lastChild)
  }
 }
};
</script>
</head>
<body>
<div id="box">
    <ul>
     <li><img src="http://js.fgm.cc/learn/lesson5/img/shirt_1.jpg" /></li>
        <li><img src="http://js.fgm.cc/learn/lesson5/img/shirt_2.jpg" /></li>
        <li><img src="http://js.fgm.cc/learn/lesson5/img/shirt_3.jpg" /></li>
        <li><img src="http://js.fgm.cc/learn/lesson5/img/shirt_4.jpg" /></li>
    </ul>
</div>
<div id="big"><div></div></div>
</body>
</html>
用JS实现PC端淘宝查看商品图片放大镜效果 实现放大镜功能一、前言二、图示淘宝商品放大镜效果三、需要掌握的知识点四、放大镜实现原理五、放大镜代码及注释六、放大镜最终成果七、放大镜源码八、总结 一、前言         今天翻阅文件夹看到了之前写过的一个 js 放大镜特效.之所以想要发布在博客上,是因为觉得这个特效里面包含有一定量程度的 js 常用知识点和逻辑性,觉得发出来挺好的,我自己也能在复习掌握一下.我们废话不多说,开整! 二、图示淘宝商品放大镜效果  &n 阅读详情

相关推荐

javascript实现查看html网页放大图片功能

本程序实现了放大查看网页中的图片的功能,效果如下: 作用:可用于模仿淘宝,查看物品细节的功能,也可用于嵌入网页的视频的放大查看。测试方法:直接拷贝本程序到新建的html文件,建好后,在同一文件夹下,新建文件夹命名为“image”,再放入一张图片,然后修改代码中两处图片名,即可使用。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional

sherry_qin的博客 6583

鼠标上移显示文字的html

html>head>meta http-equiv="Content-Type" content="text/html; charset=gb2312">title>非常不错的一款连接提示信息显示效果title>head>body>将以下代码加入HTML的之间-->script language="javascript">...function openUser(id) ...{var Win

nilihao的专栏 4605

Unity节点式技能编辑器:可视化编程提升游戏开发效率与可维护性

在游戏开发中,动画状态机(Animator Controller)和特效(ParticleSystem)的编排是核心挑战,传统硬编码方式导致开发流程低效且维护困难。其原理在于将复杂的技能逻辑拆解为可复用的可视化节点,通过数据驱动实现技能逻辑与代码的分离。这项技术的价值在于大幅提升团队协作效率,赋予策划和美术直接调整技能参数的能力,减少对程序员的依赖。在Unity3D游戏开发,尤其是动作、RPG、MOBA等重度依赖技能表现的项目中,节点式编辑器能有效管理技能释放过程中的动作序列与特效生成。通过构建运行时逻辑层

迷彩风情 392

js特效-跟随鼠标的小红心

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-...

qq_41670147的博客 1125

5种JS鼠标跟随动画特效插件实现

本文还有配套的精品资源,点击获取 简介:本资源包包含5种基于jQuery库的JS鼠标跟随动画特效,旨在为网页增加互动性和视觉吸引力。这些特效包括平滑跟随、旋转缩放、中心扩散聚拢、创新网格阵列和动态跳跃闪烁效果。通过调整参数,开发者可以定制动画特性,以适应不同场景。资源包包含CSS样式、特殊字体和核心JavaScript代码,以及使用说明和学习资源链接,为开发者提供快速集成解...

weixin_42611310的博客 2300

LangChain开发避坑指南:为什么Pylance总提示‘无法解析导入‘?实测7种修复方案

本文深入解析了在VS Code中使用LangChain开发时,Pylance频繁提示‘无法解析导入’的根本原因——Python解释器与语言服务器的环境路径不一致。文章提供了从基础排查到深度配置的7种实测修复方案,包括切换解释器、配置extraPaths、使用pyrightconfig.json等,旨在帮助开发者彻底解决此问题,提升AI应用开发效率。

weixin_28826521的博客 444

❤️创意网页:HTML5,canvas创作科技感粒子特效(科技感粒子、js鼠标跟随、粒子连线)

❤️创意网页:HTML5,canvas创作科技感粒子特效(科技感粒子、js鼠标跟随、粒子连线)

VLOKL的博客 4890

MOOS-ivp 实验三 MOOS简介(1)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例

weixin_44151170的博客 7434

前端:运用html+css+js模仿京东上商品图片区域放大特效

最近在网页端浏览京东上的商品时,觉得上面的那张gif图片上实现的特效不错,于是自己打算使用html+css+js技术来实现一下上述特效效果

坚持不懈的大白的博客 1593

在微信小程序中如何引入iconfont

略

sayyy的专栏 4325

对比实验系列:Efficientdet环境配置及训练个人数据集

可以通过下方链接下载Efficientdet源码。

Yayisheng的博客 4585

分享88个鼠标特效,总有一款适合您

谷歌抖动窗口插件jquery-wobblewindow-plugin。知识付费甚欢喜,为咱码农谋福利。jQuery-canvas-sparkles鼠标悬停闪烁星星插件。jquery鼠标实现跟随星星特效插件jquery-stars。jQuery和Css3实现鼠标不同方向移入效果。jquery hover鼠标悬停遮罩显示效果。jQuery实现鼠标经过显示动画边框特效。jQuery实现鼠标悬停遮罩详细介绍效果。jQuery判断鼠标移入元素的方位插件。jQuery hover时实现浮动效果。

weixin_47730343的博客 1150

【博弈论基础与几大经典模型】古诺模型、斯塔克尔伯格模型Stackelberg Game、价格领导模型、Bertrand模型、Sweezy模型

博弈论中经典模型☞古诺模型、斯塔克尔伯格模型、价格领导模型等

学习记录 3万+

原生JS实现京东商城同步放大镜功能

本文分享了使用原生JS实现京东购物放大镜效果的完整过程。该功能分为三步实现:1)鼠标悬停显示拖动块;2)实现拖动块在小图上移动;3)同步大图跟随移动。通过HTML、CSS和JavaScript代码详细演示了实现逻辑,包括DOM操作、事件处理和位置计算。最终效果实现小图拖动块移动时,右侧大图相应区域同步展示,还原了京东商城的商品图片放大功能。文章还提供了源码和效果图,适合前端开发者学习参考。

鹏多多的博客 1724

SLUB DEBUG 检测slab 内存泄漏

文章介绍如何定位linux 内核中slab 内存泄漏。

一叶知秋的博客 1490

【案例讲解】LVGL关于旋转的配置

在实现项目中,因为横竖屏的关系,需要对其做90度的旋转。配置旋转时发现一些局部刷新控件,旋转后效果不对。异常图标正常图标。

Bigan(安)的博客 4282

js,jquery,css,html5特效

包含js,jquery,css,html5特效,源代码 本文地址:http://www.cnblogs.com/roucheng/p/texiao.html 2017新年快乐特效   jQuery最新最全版本下载 CSS3实现手机移动端触屏向上拖动的提示箭头动画 jQuery+HTML5弹出创意搜索框层 html5手机端的点击弹出侧边滑动菜单代码 纯css3艺术文字样式效果代码...

weixin_33976072的博客 603

使用 FastAPI 和 LangGraph 构建生产级智能体 AI 系统

这是一本关于使用 FastAPI 和 LangGraph 构建生产级智能体 AI 系统的详细书籍,全文约 10 万字。《Production-Grade Agentic AI System Design and Implementation: Building Agentic AI Systems Using FastAPI and LangGraph》随着人工智能(AI)技术的迅猛发展,智能体(Agent)作为能够自主感知、推理、决策和行动的实体,正逐渐成为构建复杂智能系统的核心。从个性化推荐、客户服务到

AI天才研究院 346

jquery实现放大镜简洁代码

简介 网上有许多放大镜的jquery的插件,但是用着不是那么得心应手,现在一页代码实现一个放大镜功能,如果需要附加的功能可以手动修改,原理都在注释里 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title...

weixin_34117522的博客 181

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 淘宝UED的相册展示效果 图片放大镜
下一篇: 四屏Flash带缩略图焦点图切换效果
cloudday
博客等级 码龄19年 112粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值