JavaScript如何实现层(或层里面内容)的旋转?

有这样一个需求~页面上有一个层,层里面放的是张图片,当点击旋转按钮时,图片旋转90°,用js如何实现呢?给出示例有加分。能做成每点击一次,就旋转90度的效果吗?如果给出示... 有这样一个需求~页面上有一个层,层里面放的是张图片,当点击旋转按钮时,图片旋转90°,用js如何实现呢?
给出示例有加分。
能做成每点击一次,就旋转90度的效果吗?如果给出示例,双倍赠送
展开
 我来答
hotdigger
2010-04-19 · TA获得超过3590个赞
知道大有可为答主
回答量:1458
采纳率:50%
帮助的人:596万
展开全部
我想,jquery及其插件jQueryRotate.js能够完全满足你的需要,不但可以90度,任意度都行.还带动画效果.
=========
下面是演示代码.
<html>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" ></meta>
<head>
<title>
demo
</title>

<script src="jquery.js" type="text/javascript"></script>
<script src="jQueryRotate.js" type="text/javascript"></script>
<script>
function demo_rotate(){

//$("#demo_r").rotate(90);
$('#demo_r').rotate({maxAngle:25,minAngle:-55,
bind:
[
{"mouseover":function(){$(this).rotateAnimation(85);}},
{"mouseout":function(){$(this).rotateAnimation(-35);}}
]
});

}

</script>
</head>
<body>
<div id="showTime">
<table class='itable' width='100%' id='timetable' >
<tr>
<td class="test_c" id="one">
<img src="1.jpg" id="demo_r">
</td>
</tr>
<tr>
<td>
<input type="button" value="demo" onclick="demo_rotate();">

</td>
</tr>
</table>

</div>
</body>
</html>
你要找不到两个js文件,请联系我.给我留言.
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
Passer_MWorld
推荐于2016-09-22 · TA获得超过424个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:401万
展开全部
<!-- 每点击一次,就旋转90度 -->
<div>
<img style='filter:progid:DXImageTransform.Microsoft.Matrix(SizingMethod="auto expand",FilterType="bilinear",Dx=0,Dy=0)' id=w src='d:\10.jpg' width="292" height="429"></div>
<button onclick='with(w.filters.item(0)){try{P==1}catch(e){P=0}P+=90;z=Math.PI*2/360*P;m12=-Math.sin(z);m21=Math.sin(z);m11=Math.cos(z);m22=Math.cos(z)}'>每点击一次,就旋转90度</button>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a435633
2010-04-20 · TA获得超过1234个赞
知道大有可为答主
回答量:1018
采纳率:0%
帮助的人:0
展开全部
先用 CSS 定义一个 class
.deg90 {
/* for firefox, safari, chrome, etc. */
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
/* for ie */
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}

点按钮的时候,给你的 div 加上这个 class,就行了。

给元素加 class 的函数:
function addClass(element, value) {
if (!element.className) {
element.className = value;
} else {
var newClassName = element.className;
newClassName += " ";
newClassName += value;
element.className = newClassName;
}
}

例:
如果 HTML 代码是
<div id="rotate90"> ... </div>

按钮 onclick 的 JS 代码
addClass(document.getElementById('rotate90'), 'deg90');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2015-02-05 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
<!DOCTYPE HTML>
<html>
<head>
<meta charset=UTF-8>
<title>YuGiOh</title>
<style type="text/css">
#div {
position: absolute;
top: 50px;
left: 300px;
width: 300px;
height: 300px;
line-height: 300px;
text-align: center;
border: 1px solid black;
}
</style>
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<script type="text/javascript">
var rotateHTML5 = function (limit)
    {
    var reg = /(rotate\([\-\+]?((\d+)(deg))\))/i;
    var wt = div.style['-webkit-transform'], wts = wt.match (reg);
    var $2 = RegExp.$2;
    console.log ($2);
    div.style['-webkit-transform'] = wt.replace ($2, parseFloat (RegExp.$3) + limit + RegExp.$4);
    }
    
    var rotateIE = function (obj)
    {
    var d = !!obj.d ? obj.d : 1;
    var r = d * Math.PI / 180;
    costheta = Math.cos (r);
    sintheta = Math.sin (r);
    obj.style.filter = "progid:DXImageTransform.Microsoft.Matrix()";
    var item = obj.filters.item (0);
    var width = obj.clientWidth;
    var height = obj.clientHeight;
    item.DX = -width / 2 * costheta + height / 2 * sintheta + width / 2;
    item.DY = -width / 2 * sintheta - height / 2 * costheta + height / 2;
    item.M11 = costheta;
    item.M12 = -sintheta;
    item.M21 = sintheta;
    item.M22 = costheta;
    obj.timer = setTimeout (function ()
    {
    var dx = d + 1;
    dx = dx > 360 ? 1 : dx;
    obj.d = dx;
    rotate (obj, dx);
    }, 30);
    };
    
    var start = function ()
    {
    if (!!div.interval)
    {
    clearInterval (div.interval);
    delete div.interval;
    }
    else
    {
    div.interval = setInterval (function ()
    {
    /.*webkit.*/i.test (navigator.userAgent) ? rotateHTML5 (1) : rotateIE (div);
    }, 30);
    }
    }
</script>
</head>
<body>
<button onclick="start();">rotate</button>
<div id="div" style="border-radius: 90px; -webkit-transform: rotate(10deg);">ROTATE</div>
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式