放大镜系列之三:ie8下对图片的旋转以及放大镜效果的兼容方案

2024-03-23 07:20

本文主要是介绍放大镜系列之三:ie8下对图片的旋转以及放大镜效果的兼容方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  如果我们用上一篇文章里的方案在ie8试验一下,就会发现一些问题,一个是鼠标移动时放大镜不停的闪烁,另一个是当图片发生旋转时放大镜显示的部分不是鼠标指向的部分。

  第一个问题的原因很简单,ie8下放大镜的div不是透明的,放大镜的存在,直接触发小图的鼠标mousemove事件啦。解决方法是要么加入一个监听放大镜的事件,要么把放大镜的位置放在小图的右上方(只要不遮挡小图就可以);第二个问题的原因是获取的offsetx,offsety在i小图旋转时候的相对坐标,而大图并没有被旋转,所以我们将相对坐标转换一下。

 HTML内容如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"></html>

<head>
    <title>zoom</title>
    <meta charset="UTF-8">
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name=”renderer” content=”webkit” />
    <script src="./js/html5shiv.js"></script>
    <link rel="stylesheet" type="text/css" href="./css/zoom.css">
</head>
<body>
<div class="step_wrapper">啦啦啦,我是萌萌的考拉君</div>
<div class="content">
    <div id="leftWarp" class="leftWarp">
        <div id="imgSrc" class="imgSrc" style="height: 100%">
            <a id="zoom" >
                <img id="currentImg" class="currentImg" src="./img/Koala.jpg" alt="" style="max-width:98%; max-height: 98%">
            </a>
        </div>
        <ul class="imgBtn currentImgBtns" id="currentImgBtns">
            <li class="fl" id="reduction">原图</li>
            <li class="fl" id="routerAnti90">逆时针旋转90度</li>
            <li class="fl" id="router90">顺时针旋转90度</li>
            <li class="fl" id="router180">180度旋转</li>
        </ul>
        <div>
            <input id="angle" type="hidden" value="0">
        </div>
    </div>
    <div class="rightWarp" id="rightWarp">
</div>
<div id="currentImgDiv">
    <span style="color: #fff;">This is 放大镜 speaking!!!</span>
</div>
<div id="currentImgDiv2">
        <span style="color: #fff;">Here is 放大镜2 !!!</span>
    <img id="currentImg2" class="currentImg2" src="" alt="">
</div>
</body>
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/zoom.js"></script>
<script type="text/javascript" src="./js/html5shiv.js"></script>
</html>

 在ie8下,小图与大图之间的关系见下图。左侧是小图,右侧是大图。

那么对于小图的监听事件修改如下:

    // Constantsvar $IMAGE_URL    = $element.attr("src");var NATIVE_IMG    = new Image();NATIVE_IMG.src    = $element.attr("src");// Default attributesvar defaults = {round      : true,width      : 200,

这篇关于放大镜系列之三:ie8下对图片的旋转以及放大镜效果的兼容方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/837557

相关文章

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

c/c++的opencv实现图片膨胀

《c/c++的opencv实现图片膨胀》图像膨胀是形态学操作,通过结构元素扩张亮区填充孔洞、连接断开部分、加粗物体,OpenCV的cv::dilate函数实现该操作,本文就来介绍一下opencv图片... 目录什么是图像膨胀?结构元素 (KerChina编程nel)OpenCV 中的 cv::dilate() 函

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe