@valitskiydmitriy

Поворот картинки при открытии меню на Jquery или css?

Есть вот такой код html код:
<div id="accordion" class="accordion">
    <div class="link"><p>Последняя Пятерка Зарегестрированных</p>
    	<img class="pik" src="img/index/pik.png">
    </div>
    <div class="submenu">
    <table class="brd">
    <tr>
        <th>ID</th>
        <th>Имя/Логин</th>
        <th>Дата Регистрации</th>
    </tr>
    <tr>
 ...ИТД
</table>
    </div>


Вот такой css:
.top .accordion {
width: 425px;
margin: 30px auto 20px;
background: #FFF;
border-radius: 4px;
}

.top .accordion .link {
cursor: pointer;
display: block;
border-radius: 5px;
padding: 0px 0px 0px 5px;
background-color: #f7f7f7;
color: #4D4D4D;
position: relative;
height: 35px;
margin-top: 30px;
-webkit-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all 0.4s ease;
}

.top .accordion .link p {
font-family: HelveticaNeueCyr-Roman;
font-size: 19px;
color: #595959;
padding: 7px 0px 0px 0;

}

.top .accordion .link .pik {
    position: relative;
    float: right;
    margin: -58px -28px 0px 0px;
}

.submenu {
display: none;
background: #f1f1f1;
font-size: 14px;
font-family: HelveticaNeueCyr-Light;
}

.submenu brd {
font-family: HelveticaNeueCyr-Light;
}

.submenu div.block img.down {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}


И вот такой js:
$(function() {
var Accordion = function(el, multiple) {
this.el = el || {};
this.multiple = multiple || false;

var links = this.el.find('.link');
links.on('click', {el: this.el, multiple: this.multiple}, this.dropdown)
}

Accordion.prototype.dropdown = function(e) {
var $el = e.data.el;
$this = $(this),
$next = $this.next();

$next.slideToggle();
$this.parent().toggleClass('open');

if (!e.data.multiple) {
$el.find('.submenu').not($next).slideUp().parent().removeClass('open');
};
}

var accordion = new Accordion($('#accordion'), false);
});


И тут два вопроса, почему при открытии, submenu как бы отскакивает вниз, и на секунду образуеться белый не красивый пробел и смотрится дерганно?

И как сделать что бы картинка "ipk" при открытии и закрытии прокручивалась на 180 градусов?
  • Вопрос задан
  • 292 просмотра
Решения вопроса 1
@Sashjkeee Куратор тега CSS
f-e
Ну чтобы картинка прокручивалась можно использовать
transform: rotate(<число>deg)

А для остального - залейте на jsfiddle.net
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы