分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

JS 实现兼容IE图片向左或向右翻转

发布时间:2023-09-06 02:19责任编辑:沈小雨关键词:暂无标签
<!DOCTYPE HTML> ???<head> ???????<title>JS实现图片向左向右翻转</title> ???????<meta http-equiv="content-type" content="text/html;charset=UTF-8"> ???????<script type="text/javascript"> ???????????function rotate(o, p) { ???????????????var img = document.geiElmentById(o); ???????????????if(!img || !p) return false; ???????????????var n = img.getAttribute(‘step‘); ???????????????if(n === null) ???n = 0; ???????????????if(p === ‘right‘) { ???????????????????(n === 3) ? n = 0 : n++; ???????????????} else if(p === ‘left‘) { ???????????????????(n === 0) ? n = 3 : n--; ???????????????} ???????????????img.setAttribute(‘step‘, n); ???????????????// MSIE ???????????????if(document.all) { ???????????????????img.style.filter = ‘progid:DXImageTransform.Microsoft.BasicImage(rotation=‘ + n +‘)‘; ???????????????????switch(n) { ???????????????????????case 0: ???????????????????????????img.parentNode.style.height = img.height; ???????????????????????????break; ???????????????????????case 1: ???????????????????????????img.parentNode.style.height = img.width; ???????????????????????????break; ???????????????????????case 2: ???????????????????????????img.parentNode.style.height = img.height; ???????????????????????????break; ???????????????????????case 3: ???????????????????????????img.parentNode.style.height = img.width; ???????????????????????????break; ???????????????????} ???????????????} else { ???????????????????var c = document.getElementById(‘canvas‘ + o); ???????????????????if(c === null) { ???????????????????????img.style.visibility = ‘hidden‘; ???????????????????????img.style.position = ‘absolute‘; ???????????????????????c = document.createElement(‘canvas‘); ???????????????????????c.setAttribute("id", ‘canvas‘ + o); ???????????????????????img.parentNode.appendChild(c); ???????????????????} ??????????????????????????????????var canvasContent = c.getContext(‘2d‘); ???????????????????switch(n) { ???????????????????????default: ????????????????????????case 0: ???????????????????????????c.setAttribute(‘width‘, img.width); ???????????????????????????c.setAttribute(‘height‘, img.height); ???????????????????????????canvasContent.rotate(0 * Math.PI / 180); ???????????????????????????canvasContent.drawImage(img, 0, 0); ???????????????????????????break; ???????????????????????case 1: ???????????????????????????c.setAttribute(‘width‘, img.width); ???????????????????????????c.setAttribute(‘height‘, img.height); ???????????????????????????canvasContent.rotate(90 * Math.PI / 180); ???????????????????????????canvasContent.drawImage(img, 0, -img.height); ???????????????????????????break; ???????????????????????case 2: ???????????????????????????c.setAttribute(‘width‘, img.width); ???????????????????????????c.setAttribute(‘height‘, img.height); ???????????????????????????canvasContent.rotate(180 * Math.PI / 180); ???????????????????????????canvasContent.drawImage(img, -img.width, -img.height); ???????????????????????????break; ???????????????????????case 3: ???????????????????????????c.setAttribute(‘width‘, img.width); ???????????????????????????c.setAttribute(‘height‘, img.height); ???????????????????????????canvasContent.rotate(270 * Math.PI / 180); ???????????????????????????canvasContent.drawImage(img, -img.width, 0); ???????????????????????????break; ???????????????????} ???????????????} ???????????} ???????</script> ???</head> ???<body> ???????<div class="container"> ???????????<input type="button" value="turn left" onclick="rotate(‘pic‘, ‘left‘)" /> ???????????<input type="button" value="turn right" onclick="rotate(‘pic‘, ‘right‘)" /> ???????????<div class="cont" onclick="rotate(‘pic‘, ‘right‘)"> ???????????????<img id="pic" src="1.jpg" alt="" /> ???????????</div> ???????</div> ???</body></html>

JS 实现兼容IE图片向左或向右翻转

原文地址:https://www.cnblogs.com/minozMin/p/9857247.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved