首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用onclick旋转图像

使用onclick旋转图像
EN

Stack Overflow用户
提问于 2013-01-18 18:11:34
回答 6查看 27.1K关注 0票数 0

我尝试制作一个切换按钮,每次单击时,我的图像(箭头)将旋转180度:

代码语言:javascript
复制
<a href='#' onclick='$(\"#divToggle\").slideToggle(\"slow\");'>
<img src='blue_down_arrow.png' onclick='$(this).rotate(180);' /></a>

<div id='divToggle' style='display:none;'>...CONTENT...</div>";

这段代码切换我的div,但图像只在第一次单击时旋转,然后保持“向上”。我正在使用这个:http://code.google.com/p/jqueryrotate/

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-01-18 18:25:22

这是因为旋转角度的值是绝对值,而不是基于上次旋转。

工作代码:

jQuery

代码语言:javascript
复制
var rotate_factor = 0;

function rotateMe(e) {
    rotate_factor += 1;
    var rotate_angle = (180 * rotate_factor) % 360;
    $(e).rotate({angle:rotate_angle});
}

HTML

代码语言:javascript
复制
<img src='blue_down_arrow.png' onclick='rotateMe(this);' /></a>

更新:更短的代码

代码语言:javascript
复制
var rotate_angle = 0;

<img src='blue_down_arrow.png' onclick='rotate_angle = (rotate_angle + 180) % 360; $(this).rotate(rotate_angle);' /></a>
票数 2
EN

Stack Overflow用户

发布于 2013-01-18 18:30:41

你可以这样写。demo

代码语言:javascript
复制
jQuery(document).ready(function(){
   var deg_temp =45;
  jQuery("#image1").click(function(){
     deg_temp = deg_temp+30;
  jQuery(this).rotate(deg_temp);
  })

});
票数 3
EN

Stack Overflow用户

发布于 2013-01-18 18:28:56

Click to see CSS3 transition demo

看看这个演示。它使用CSS3进行过渡+变换旋转

代码语言:javascript
复制
.testRotate{
  -moz-transition: transform 1s;
  -webkit-transition: transform 1s;
  transition: transform 1s;
}

.testRotate:hover{
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

这些是本演示的重要组成部分=)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14396614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档