1、首先准备一个HTML文档,文档中准备好两个图片,接下来会对这两个图片进行旋转。
2、然后对HTML中的内容定义一些样式,如下图所示,主要是标题以及ul的样式。
3、接下来就给图片所在的li定义宽高,如下图所示。
4、然后给图片设置过渡效果,过渡使用transition属性,如下图所示。
5、当鼠标悬停在图片上时,通过rotate给其设置变形,如下图所示,正数代表的是顺时针,负数代表的是逆时针。
6、最后运行程序,会看到如下图所示的效果,鼠标放在图片上会顺时针或者逆时针旋转。
你的代码中的第二个按钮显然和第一个按钮一样都是顺时针旋转的,我修改了一下,代码如下:<html>
<title>按钮控制图片360度翻转效果的JS代码丨芯晴网页特效丨CsrCode.Cn</title>
<body>
<script language="javascript">
var isIE = (document.uniqueID)?1:0
var i=1
function rotate(image)
{
var object = image.parentNode
if(isIE){
image.style.filter="progid:dXImagetransform.Microsoft.basicImage(rotation="+i+")"
i++
if(i>4) {i=1}
}
else{
try{
var canvas = document.createElement('canvas')
if(canvas.getContext("2d")) {
object.replaceChild(canvas,image)
var context = canvas.getContext("2d")
context.translate(176, 0)
context.rotate(Math.PI*0.5)
context.drawImage(image,0,0)
}
}catch(e){}
}
}
function rotate2(image)
{
var object = image.parentNode
if(isIE){
image.style.filter="progid:dXImagetransform.Microsoft.basicImage(rotation="+i+")"
i=i+3
if(i>4) {i=i-4}
}
else{
try{
var canvas = document.createElement('canvas')
if(canvas.getContext("2d")) {
object.replaceChild(canvas,image)
var context = canvas.getContext("2d")
context.translate(176, 0)
context.rotate2(Math.PI*0.5)
context.drawImage(image,0,0)
}
}catch(e){}
}
}
</script>
<input type="button" value="顺时针转" onClick="rotate(document.getElementById('myimg'))" />
<input type="button" value="逆时针转" onClick="rotate2(document.getElementById('myimg'))" /><br />
<img id="myimg" src="http://www.CsrCode.cn/images/m03.jpg"/>
</body>
</html>
//关键就是这几句:
//image.style.filter="progid:dXImagetransform.Microsoft.basicImage(rotation="+i+")"
//i=i+3
// if(i>4) {i=i-4}
//i为1 2 3 4时分别对应着图像的角度为90 180 270 360 ,所以你要让I每次加3,每次调整270°,也就是逆时针的90°了
<html><title>js实现按钮控制图片90度翻转特效</title>
<body>
<script language="javascript">
var isIE = (document.uniqueID)?1:0
var i=1
function rotate(image)
{
var object = image.parentNode
if(isIE){
image.style.filter="progid:dXImagetransform.Microsoft.basicImage(rotation="+i+")"
i++
if(i>4) {i=1}
}
else{
try{
var canvas = document.createElement('canvas')
if(canvas.getContext("2d")) {
object.replaceChild(canvas,image)
var context = canvas.getContext("2d")
context.translate(300, 0)
context.rotate(Math.PI*0.5)
context.drawImage(image,0,0)
}
}catch(e){}
}
}
</script>
<input type="button" value="点击旋转图片" onclick="rotate(document.getElementById('myimg'))" /><br />
<img id="myimg" src="1.jpg"/>
<!-- 图片路径你自己替换 -->
</body>
</html>