Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery切换时旋转图像_Jquery_Rotation_Nav - Fatal编程技术网

使用jQuery切换时旋转图像

使用jQuery切换时旋转图像,jquery,rotation,nav,Jquery,Rotation,Nav,有关地点: 我试图创建一个可折叠导航,当切换时,箭头指向上(隐藏时向下) 我一直在阅读jQuery的旋转图像,发现这是我最好的资源: 我知道这里发生了什么,但是我很难用我的标记来可视化它。我对折叠导航的jQuery如下所示: <script type="text/javascript"> $(document).ready(function(){ /* toggle nav */ $("#menu-icon").on("click", function(){ $(".nav"

有关地点:

我试图创建一个可折叠导航,当切换时,箭头指向上(隐藏时向下)

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

我知道这里发生了什么,但是我很难用我的标记来可视化它。我对折叠导航的jQuery如下所示:

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

$(文档).ready(函数(){
/*切换导航*/
$(“#菜单图标”)。在(“单击”,函数()上){
$(“.nav”).slideToggle();
$(此).toggleClass(“活动”);
});
});

我想知道是否有人能帮我解释一下如何将这种功能翻译成我的插件?

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

.rotate {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
}
然后使用toggle类添加/删除它

这不会提供任何动画。CSS3转换甚至可以在不需要javascript动画的情况下为您实现这一点。看一看,如果您想尝试的话,它有一个JSFIDLE演示

编辑

下面是一个演示如何在两个方向上执行CSS转换:


检查这个,也许可以帮助别人

和javascript:

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

我了解如何应用CSS3转换,我在我的徽标上使用了一个,我只是在单击时附加它时遇到问题是我的问题。我将继续使用这些注释进行操作。将其放在单击函数中应该会起作用:
$(“#菜单图标”)。toggleClass(“旋转”)如果它不起作用,你有一个JSFIDLE或其他我可以查看的网站吗?只是上面我发布的URL。我在旅行的时候有一点回不去了,但我会记下你的笔记,谢谢你的帮助!您拥有我提供给
.toggleClass(“rotate”)的代码
,但我在样式表中没有看到
rotate
类。试着在我的样式表中添加我的CSS部分,看看它是否修复了它。只是编辑我的最后一条评论,你可能看到我在做它的中间,但是这一切似乎都起作用了(我添加了一个过渡时间,当你关闭Nav时,它看起来不起作用,有什么线索吗?但是这对UX不太不利)。谢谢你的帮助!使用jQuery检查此图标以进一步旋转动画:您也应该检查此徽标动画(:我建议使用立方贝塞尔变换使其更美观
变换:.3s立方贝塞尔(.17.67.21.1.69);
.rotate {
    transform: rotate(-180deg);
    /*transform: rotate(180deg);*/
    transition: .3s;
}
.rotate-reset {
    transform: rotate(0deg);
    transition: .3s;
}
$('.arrow').on("click", function (event) {
    $('.arrow-img').toggleClass('rotate');
    $('.arrow-img').toggleClass('rotate-reset');
});