2016-08-20 71 views
2

这里是我的代码:如何旋转元素?

$('.click').on('click', function(){ 
 
    $(this).next('div').toggle(100); 
 
});
.click{ 
 
    cursor: pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"/> 
 

 
<div class="click">click <i class="fa fa-caret-down" aria-hidden="true"></i></div> 
 
<div>something</div>

正如你看到箭头(这是旁边click固定..我怎样才能将其旋转45°,当用户点击div.test

+5

的[想要在jquery的旋转元件]可能的复制(http://stackoverflow.com/questions/10908760/want-to-rotate-element-in-jquery) – Rob

回答

4

另一种选择:你可以使用fontawesome的fa-caret-right和拨动它!

让我知道您的反馈。谢谢!

$('.click').on('click', function(){ 
 
    $(this).next('div').toggle(100, 'linear', function(){ 
 
     $(this).prev('div').find('i').toggleClass('fa-caret-down'); 
 
     $(this).prev('div').find('i').toggleClass('fa-caret-right'); 
 
    }); 
 
});
.click{ 
 
    cursor: pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"/> 
 

 
<div class="click">click <i class="fa fa-caret-down" aria-hidden="true"></i></div> 
 
<div>something</div>

+0

很棒.... upvote – stack

+0

我真的不明白你为什么在这种情况下使用'.prev()'?什么'.prev()'完全在那里? – stack

+0

因为函数里'this'的意思是'

something
' – kukkuz

3

您可以简单地使用transform CSS属性。在MDN docs阅读更多关于它的信息。

$('.click').on('click', function(){ 
 
    $(this).next('div').toggle(100) 
 
    $(this).children('i').toggleClass('rotate'); 
 
});
.click{ 
 
    cursor: pointer; 
 
} 
 

 
.rotate { 
 
    transform: rotate(270deg); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"/> 
 

 
<div class="click">click <i class="fa fa-caret-down" aria-hidden="true"></i></div> 
 
<div>something</div>

+0

谢谢你.. upvote – stack