انسخ رمز الكود كما يلي:
<!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">
<الرأس>
<title>تأثير تدوير الصورة</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<!--أضف الكود التالي بين <head> و </head>-->
<نمط النوع = "نص/CSS">
أول {الحشو:0 15px؛}
ul li{الحشو-أسفل:15px;الحدود-أسفل:1px متقطع #EEE;}
.caption{الحشو:15px 0 5px;}
إدخال التسمية التوضيحية {margin-right:10px;padding:0 10px;}
</نمط>
<نوع البرنامج النصي = "نص/جافا سكريبت">
/*
* www.byzuo.com
* حسنًا!: MSIE 6، 7، 8، Firefox 3.6، chrome 4، Safari 4، Opera 10
* o تدوير معرف الصورة؛
* p يحدد اتجاه الدوران، والقيمة الثابتة هي "يسار" أو "يمين"؛
*/
وظيفة تدوير (س، ع) {
var img = document.getElementById(o);
إذا (!img || !p) يُرجع خطأ؛
var n = img.getAttribute('step');
if(n== null) n=0;
إذا (ع=='يمين'){
(ن==3)ن=0:ن++;
}آخر إذا(ع=='يسار'){
(ن==0)ن=3:ن--;
}
img.setAttribute('step',n);
//MSIE
إذا (المستند.الكل) {
img.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(rotation='+ n +')';
// اختراق لـ MSIE 8
التبديل (ن) {
الحالة 0:
imgimg.parentNode.style.height = img.height;
استراحة؛
الحالة 1:
imgimg.parentNode.style.height = img.width;
استراحة؛
الحالة 2:
imgimg.parentNode.style.height = img.height;
استراحة؛
الحالة 3:
imgimg.parentNode.style.height = img.width;
استراحة؛
}
//دوم
}آخر{
var c = document.getElementById('canvas_'+o);
إذا (ج== فارغة){
img.style.visibility = 'مخفي';
img.style.position = 'مطلق';
c = document.createElement('canvas');
c.setAttribute("id",'canvas_'+o);
img.parentNode.appendChild(c);
}
var ccanvasContext = c.getContext('2d');
التبديل (ن) {
تقصير :
الحالة 0 :
c.setAttribute('width', img.width);
c.setAttribute('height', img.height);
CanvasContext.rotate(0 * Math.PI / 180);
CanvasContext.drawImage(img, 0, 0);
استراحة؛
الحالة 1:
c.setAttribute('width', img.height);
c.setAttribute('height', img.width);
CanvasContext.rotate(90 * Math.PI / 180);
CanvasContext.drawImage(img, 0, -img.height);
استراحة؛
الحالة 2:
c.setAttribute('width', img.width);
c.setAttribute('height', img.height);
CanvasContext.rotate(180 * Math.PI / 180);
CanvasContext.drawImage(img, -img.width, -img.height);
استراحة؛
الحالة 3:
c.setAttribute('width', img.height);
c.setAttribute('height', img.width);
CanvasContext.rotate(270 * Math.PI / 180);
CanvasContext.drawImage(img, -img.width, 0);
استراحة؛
}
}
}
</script>
</الرأس>
<الجسم>
<!--أضف الكود التالي بين <body> و </body>-->
<ul>
<لي>
<ديف>
<input type="button" value="turn left" onclick="rotate('pic_1','left')">
<input type="button" value="turn right" onclick="rotate('pic_1','right')">
</div>
<ديف>
<img id="pic_1" src="1.gif">
</div>
</لي>
</ul>
</الجسم>
</html>