注册|登录

联系电话:024-31891684  13390130939
沈阳软件公司--沈阳软件定制

沈阳软件开发_沈阳软件公司_沈阳软件定制/软件/最新技术

Latest technology最新技术

JS控制图片翻转代码,兼容firefox,ie,chrome等浏览器

浏览量:4387

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>图片旋转效果</title>

<meta http-equiv="content-type" content="text/html;charset=gb2312">

<!--把下面代码加到<head>与</head>之间-->

<style type="text/css">

ul{padding:0 15px;}

ul li{padding-bottom:15px;border-bottom:1px dashed #EEE;}

.caption{padding:15px 0 5px;}

.caption input{margin-right:10px;padding:0 10px;}

</style>

<script type="text/javascript">

/*

* www.byzuo.com

* ok!: MSIE 6, 7, 8, Firefox 3.6, chrome 4, Safari 4, Opera 10

* o 旋转图片ID;

* p 选择旋转方向,固定值为'left'或'right';

*/

function rotate(o,p){

var img = document.getElementById(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 +')';

//HACK FOR MSIE 8

switch(n){

case 0:

imgimg.parentNode.style.height = img.height;

break;

case 1:

imgimg.parentNode.style.height = img.width;

break;

case 2:

imgimg.parentNode.style.height = img.height;

break;

case 3:

imgimg.parentNode.style.height = img.width;

break;

}

//DOM

}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 ccanvasContext = c.getContext('2d');

switch(n) {

default :

case 0 :

c.setAttribute('width', img.width);

c.setAttribute('height', img.height);

canvasContext.rotate(0 * Math.PI / 180);

canvasContext.drawImage(img, 0, 0);

break;

case 1 :

c.setAttribute('width', img.height);

c.setAttribute('height', img.width);

canvasContext.rotate(90 * Math.PI / 180);

canvasContext.drawImage(img, 0, -img.height);

break;

case 2 :

c.setAttribute('width', img.width);

c.setAttribute('height', img.height);

canvasContext.rotate(180 * Math.PI / 180);

canvasContext.drawImage(img, -img.width, -img.height);

break;

case 3 :

c.setAttribute('width', img.height);

c.setAttribute('height', img.width);

canvasContext.rotate(270 * Math.PI / 180);

canvasContext.drawImage(img, -img.width, 0);

break;

}

}

}

</script>

</head>

<body>

<!--把下面代码加到<body>与</body>之间-->

<ul class="clearfix">

<li>

<div class="caption">

<input type="button" value="turn left" onclick="rotate('pic_1','left')">

<input type="button" value="turn right" onclick="rotate('pic_1','right')">

</div>

<div class="cont">

<img alt="javascript 图片旋转效果" id="pic_1" src="1.gif" alt="">

</div>

</li>

</ul>

</body>

</html>

上一篇:js级联

下一篇:浅谈并发

沈阳团购网|营口网站制作|沈阳软件公司|软件定制|网站建设|加盟易势|提交问题