使用jQuery在切换时旋转图像

mtt*_*bsh 5 jquery rotation nav

有问题的网站:http://mtthwbsh.com

我正在尝试创建一个可折叠的导航,当切换时,箭头指向上方(隐藏时向下).

我一直在阅读使用jQuery旋转图像,并发现这是我最好的资源:旋转图像OnClick使用jQuery?

我理解这里发生了什么,但我很难用我的标记来形象化它.我的折叠导航的jQuery如下:

<script type="text/javascript">
$(document).ready(function(){
/* toggle nav */
$("#menu-icon").on("click", function(){
    $(".nav").slideToggle();
    $(this).toggleClass("active");
  });
 });
</script>
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人可以帮助解释我如何将这种功能转换为我的插件?

And*_*eta 19

检查一下,也许可以帮助某人http://jsfiddle.net/gkmagvo3/515/

<a class="arrow" href="#">        
    <img class="arrow-img rotate-reset" src="img.png" />        
</a>
Run Code Online (Sandbox Code Playgroud)

一些CSS:

.rotate {
    transform: rotate(-180deg);
    /*transform: rotate(180deg);*/
    transition: .3s;
}
.rotate-reset {
    transform: rotate(0deg);
    transition: .3s;
}
Run Code Online (Sandbox Code Playgroud)

和javascript:

$('.arrow').on("click", function (event) {
    $('.arrow-img').toggleClass('rotate');
    $('.arrow-img').toggleClass('rotate-reset');
});
Run Code Online (Sandbox Code Playgroud)


Jas*_*ted 6

它实际上只是为元素添加了一些CSS.您可以在样式表中创建一个类:

.rotate {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
}
Run Code Online (Sandbox Code Playgroud)

然后只需使用切换类添加/删除它.

这不会提供任何动画.CSS3过渡甚至可以为您做到这一点,而无需javascript动画.看看这个,如果你想试试它,它有一个JSFiddle演示.

编辑

这是一个关于如何在两个方向上执行CSS转换的演示:

http://jsfiddle.net/jwhitted/NKTcL/

  • 您的JSFiddle示例不起作用. (4认同)
  • 把它放在你的点击功能里面应该有效:`$("#menu-icon").toggleClass("rotate");`如果它不起作用,你有一个jsfiddle或其他一些我可以看看的网站吗?它? (2认同)