博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
原生JS实现类似《掘金》网站的图片查看器
阅读量:7070 次
发布时间:2019-06-28

本文共 561 字,大约阅读时间需要 1 分钟。

经常看掘金网站发现他的图片预览挺不错的,跟以前的 插件效果差不多。在这里我为大家提供一些编写思路。

  • 记录页面的图片所在位置offsetTop / offsetLeft / width /height。
  • 创建div层铺满整屏幕。
  • 如果是加载大图需要显示loading。
  • 创建白色遮罩层。
  • 复制一份图片填充到屏幕之前记录的位置。
  • 根据屏幕算出中心位置并动画移动。
  • 点击关闭,返回到之前记录的位置即可,但是这里需要注意的是如果有滚动条则需要减去srcollTop的值,原因是动态创建的层和图片是position:fixed属性。
  • 滚动条滚动立即隐藏。

完整代码

图片预览
复制代码

DEMO:

原文:

转载于:https://juejin.im/post/5afa7c6df265da0b7f44b2ea

你可能感兴趣的文章
mysql中的锁
查看>>
Android的消息机制(1)
查看>>
Vue中v-for的数据分组
查看>>
ajax 无刷新下拉加载更多。
查看>>
linux运维人员常用的150个命令
查看>>
bzoj3068: 小白树
查看>>
常用算法Java实现之直接插入排序
查看>>
转载 radio值获取
查看>>
学习SpringMVC——你们要的REST风格的CRUD来了
查看>>
NLPIR数据语义挖掘技术为企业提供精准管理
查看>>
通过本地yum源安装软件报错[Errno 14] PYCURL ERROR 56 - "Failure when receiving data from the peer"...
查看>>
android常用调试工具fiddle、wireshark和android studio的配置
查看>>
Java实现几种常见排序方法
查看>>
NOIP2017 复盘
查看>>
jxa快速入门,Javascript已加入AppleScript全家桶
查看>>
洛谷P3622 动物园
查看>>
Angular Encapsulation - css选择器选不到非angular组件(插件)
查看>>
iOS开发之UIScrollView
查看>>
mysql 使用 insert ignore into和unique实现不插入重复数据功能
查看>>
c++操作符重载_12
查看>>