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

great .... upvote – stack

+0

Я действительно не понимаю, почему вы использовали '.prev()' в этом случае? Что '.rev()' делает именно там? – 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

Смежные вопросы