2016-08-20 73 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