js鼠标放图片上==放大镜显示效果demo效果示例(整理)

简介: js鼠标放图片上==放大镜显示效果demo效果示例(整理)
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>jQuery-图片的放大镜显示效果</title>
    <style type="text/css">
      img {
        max-width: none;
      }
      .thumbnail-list {
        display: inline-block;
        width: 1.2em;
        height: 1.1em;
        text-align: center;
        font-size: 128px;
      }
      .thumbnail-list img.thumbnail {
        padding: 3px;
        border: 1px solid #cccccc;
        background: white;
        vertical-align: middle;
        position: relative;
      }
      .thumbnail-list:hover,
      .thumbnail-list:hover img.thumbnail {
        border-color: #ff3300;
      }
      .magnify {
        width: 200px;
        height: 200px;
        padding: 3px;
        background: white;
        border: 1px solid #cccccc;
        text-align: center;
        position: absolute;
        z-index: 1000;
        left: 0;
        top: 0;
        overflow: hidden;
      }
      .thumbnail {
        width: 1em;
        height: 1em;
      }
    </style>
  </head>
  <body>
    <a href="http://zhilisms.oos-website-cn.oos-cn.ctyunapi.cn/20220427/933ad955c6c847e7b13ec5651b0feb81.png"
      class="thumbnail-list">
      <img class="thumbnail"
        src="http://zhilisms.oos-website-cn.oos-cn.ctyunapi.cn/20220427/933ad955c6c847e7b13ec5651b0feb81.png" />
    </a>
    <a href="http://zhilisms.oos-website-cn.oos-cn.ctyunapi.cn/20220427/933ad955c6c847e7b13ec5651b0feb81.png"
      class="thumbnail-list">
      <img class="thumbnail"
        src="http://zhilisms.oos-website-cn.oos-cn.ctyunapi.cn/20220427/933ad955c6c847e7b13ec5651b0feb81.png" />
    </a>
    <a href="http://zhilisms.oos-website-cn.oos-cn.ctyunapi.cn/20220427/933ad955c6c847e7b13ec5651b0feb81.png"
      class="thumbnail-list">
      <img class="thumbnail"
        src="http://zhilisms.oos-website-cn.oos-cn.ctyunapi.cn/20220427/933ad955c6c847e7b13ec5651b0feb81.png" />
    </a>
    <a href="http://zhilisms.oos-website-cn.oos-cn.ctyunapi.cn/20220427/933ad955c6c847e7b13ec5651b0feb81.png"
      class="thumbnail-list">
      <img class="thumbnail"
        src="http://zhilisms.oos-website-cn.oos-cn.ctyunapi.cn/20220427/933ad955c6c847e7b13ec5651b0feb81.png" />
    </a>
  </body>
  <!-- <script type="text/javascript" src="https://cs.m.xczhihui.com/xcview/html/demo/js/jquery.js"></script> -->
  <script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
  <script type="text/javascript">
    // jQuery.noConflict();
    jQuery(document).ready(function() {
      $("img.thumbnail").jqueryzoom();
    });
  </script>
  <script>
    (function($) {
      $.fn.jqueryzoom = function(options) {
        var settings = {
          xzoom: 200,
          yzoom: 200,
          offset: 10,
          position: "right"
        };
        if (options) {
          $.extend(settings, options);
        }
        $(this).hover(function() {
          var imageLeft = $(this).get(0).offsetLeft;
          var imageRight = $(this).get(0).offsetRight;
          var imageTop = $(this).get(0).offsetTop;
          var imageWidth = $(this).get(0).offsetWidth;
          var imageHeight = $(this).get(0).offsetHeight;
          var bigimage = $(this).parent().attr("href");
          if ($("span.magnify").get().length == 0) {
            $(this).after("<span class='magnify'><img class='bigimg' src='" + bigimage +
              "'/></span>");
          }
          if (settings.position == "right") {
            leftpos = imageLeft + imageWidth + settings.offset;
          } else {
            leftpos = imageLeft - settings.xzoom - settings.offset;
          }
          $("span.magnify").css({
            top: imageTop,
            left: leftpos
          });
          $("span.magnify").width(settings.xzoom);
          $("span.magnify").height(settings.yzoom);
          $("span.magnify").show();
          $(document.body).mousemove(function(e) {
            var bigwidth = $(".bigimg").get(0).offsetWidth;
            var bigheight = $(".bigimg").get(0).offsetHeight;
            var scaley = 'x';
            var scalex = 'y';
            if (isNaN(scalex) | isNaN(scaley)) {
              var scalex = Math.round(bigwidth / imageWidth);
              var scaley = Math.round(bigheight / imageHeight);
            }
            mouse = new MouseEvent(e);
            scrolly = mouse.y - imageTop - ($("span.magnify").height() * 1 / scaley) / 2;
            $("span.magnify").get(0).scrollTop = scrolly * scaley;
            scrollx = mouse.x - imageLeft - ($("span.magnify").width() * 1 / scalex) / 2;
            $("span.magnify").get(0).scrollLeft = (scrollx) * scalex;
          });
        }, function() {
          $("span.magnify").hide();
          $(document.body).unbind("mousemove");
          $(".lenszoom").remove();
          $("span.magnify").remove();
        });
      }
    })(jQuery);
    function MouseEvent(e) {
      this.x = e.pageX
      this.y = e.pageY
    }
  </script>
</html>

相关文章
|
7月前
|
JavaScript 算法 开发者
如何用JS实现在网页上通过鼠标移动批量选择元素的效果?
本文介绍了类似电脑桌面通过鼠标选择多个图标的实现原理。主要通过监听mousedown、mousemove和mouseup事件,动态调整选择框大小并计算与元素的重叠情况。提供了角重叠和相交重叠的检测方法,并附有示例代码和在线演示链接,方便开发者参考与测试。
239 56
|
25天前
|
前端开发 JavaScript API
js实现promise常用场景使用示例
本文介绍JavaScript中Promise的6种常用场景:异步请求、定时器封装、并行执行、竞速操作、任务队列及与async/await结合使用,通过实用示例展示如何优雅处理异步逻辑,避免回调地狱,提升代码可读性与维护性。
139 10
|
5月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
10月前
|
移动开发 JavaScript 前端开发
【Html.js——图片折叠效果】折叠手风琴(蓝桥杯真题-1763)【合集】
本项目实现了一个图片折叠手风琴效果,使用jQuery完成。主要包括以下部分: - **介绍**:任务是通过点击图片实现折叠和展开的效果。 - **准备**:内置初始代码,包含 `css/style.css`、`images/` 文件夹、`js/` 文件夹及 `index.html` 等文件。启动 Web Server 服务可运行项目。 - **目标**:完善 `index.js` 文件,使页面达到预期的折叠效果。 - **规定**:严格按步骤操作,保持默认文件结构不变,并在完成后保持 Web 服务正常访问状态。 - **通关代码**:使用 jQuery 实现点击事件,为选中元素添加 `act
135 19
|
11月前
|
JavaScript 容器
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
108 7
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
12月前
|
数据采集 存储 监控
实现自动化数据抓取:使用Node.js操控鼠标点击与位置坐标
本文介绍了如何使用Node.js和Puppeteer实现自动化数据抓取,特别是针对新闻网站“澎湃新闻”。通过设置代理IP、User-Agent和Cookie,提高爬虫的效率和隐蔽性,避免被网站封锁。代码示例展示了如何模拟鼠标点击、键盘输入等操作,抓取并整理新闻数据,适用于需要规避IP限制和突破频率限制的场景。
487 10
|
12月前
|
JavaScript
JS鼠标框选并删除HTML源码
这是一个js鼠标框选效果,可实现鼠标右击出现框选效果的功能。右击鼠标可拖拽框选元素,向下拖拽可实现删除效果,简单实用,欢迎下载
122 4
|
12月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
273 2

热门文章

最新文章

下一篇
开通oss服务