放大镜系列之三: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动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

Java解析JSON的六种方案

《Java解析JSON的六种方案》这篇文章介绍了6种JSON解析方案,包括Jackson、Gson、FastJSON、JsonPath、、手动解析,分别阐述了它们的功能特点、代码示例、高级功能、优缺点... 目录前言1. 使用 Jackson:业界标配功能特点代码示例高级功能优缺点2. 使用 Gson:轻量

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心

使用Python实现生命之轮Wheel of life效果

《使用Python实现生命之轮Wheeloflife效果》生命之轮Wheeloflife这一概念最初由SuccessMotivation®Institute,Inc.的创始人PaulJ.Meyer... 最近看一个生命之轮的视频,让我们珍惜时间,因为一生是有限的。使用python创建生命倒计时图表,珍惜时间

Java操作xls替换文本或图片的功能实现

《Java操作xls替换文本或图片的功能实现》这篇文章主要给大家介绍了关于Java操作xls替换文本或图片功能实现的相关资料,文中通过示例代码讲解了文件上传、文件处理和Excel文件生成,需要的朋友可... 目录准备xls模板文件:template.xls准备需要替换的图片和数据功能实现包声明与导入类声明与

MyBatis延迟加载的处理方案

《MyBatis延迟加载的处理方案》MyBatis支持延迟加载(LazyLoading),允许在需要数据时才从数据库加载,而不是在查询结果第一次返回时就立即加载所有数据,延迟加载的核心思想是,将关联对... 目录MyBATis如何处理延迟加载?延迟加载的原理1. 开启延迟加载2. 延迟加载的配置2.1 使用

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转