作者:紫陌红尘一笑_423 | 来源:互联网 | 2023-05-18 23:02
问题: 我们经常会遇见点击一个小三角使之丝滑的旋转180度上下旋转,怎么实现呢,需要css3搭配jq 来处理
如图:1.点击前 2.点击后(效果丝滑旋转)
2.css 内容
.user-arrow{//这是箭头的样式
width:12px;
position:absolute;
right:26px;
margin-top: 8px;
cursor:pointer;
display:inline-block;//放箭头的标签一定是块级元素
}
.rotate{
transform-origin:center center; //旋转中心要是正中间 才行
transform: rotate(180deg);
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transition: transform 0.2s; //过度时间 可调
-moz-transition: -moz-transform 0.2s;
-moz-transition: -moz-transform 0.2s;
-o-transition: -o-transform 0.2s;
-ms-transition: -ms-transform 0.2s;
}
.rotate1{
transform-origin:center center;
transform: rotate(0deg); //返回原点
-webkit-transform: rotate(0deg);
-moz-transform: rotate(deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transition: transform 0.2s;
-moz-transition: -moz-transform 0.2s;
-moz-transition: -moz-transform 0.2s;
-o-transition: -o-transform 0.2s;
-ms-transition: -ms-transform 0.2s;
}
3.jq 处理方法
$(function() {
var usercenter = {
init:function(){
this.modal();
},
modal: function() {
$(".user-arrow").click(function(){
if($(this).hasClass("rotate")){ //点击箭头旋转180度
$(this).removeClass("rotate");
$(this).addClass("rotate1");
}else{
$(this).removeClass("rotate1"); //再次点击箭头回来
$(this).addClass("rotate");
}
})
}
}
usercenter.init();
})