使用jQuery切换时旋转图像
有关地点: 我试图创建一个可折叠导航,当切换时,箭头指向上(隐藏时向下) 我一直在阅读jQuery的旋转图像,发现这是我最好的资源: 我知道这里发生了什么,但是我很难用我的标记来可视化它。我对折叠导航的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"
<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');
});