放大镜系列之三: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

相关文章

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

通过React实现页面的无限滚动效果

《通过React实现页面的无限滚动效果》今天我们来聊聊无限滚动这个现代Web开发中不可或缺的技术,无论你是刷微博、逛知乎还是看脚本,无限滚动都已经渗透到我们日常的浏览体验中,那么,如何优雅地实现它呢?... 目录1. 早期的解决方案2. 交叉观察者:IntersectionObserver2.1 Inter

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

C#实现高性能拍照与水印添加功能完整方案

《C#实现高性能拍照与水印添加功能完整方案》在工业检测、质量追溯等应用场景中,经常需要对产品进行拍照并添加相关信息水印,本文将详细介绍如何使用C#实现一个高性能的拍照和水印添加功能,包含完整的代码实现... 目录1. 概述2. 功能架构设计3. 核心代码实现python3.1 主拍照方法3.2 安全HBIT

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详