2015-04-16 2 views
2

Я ищу, чтобы повернуть значок меню на 90 градусов и щелкнуть на 90 градусов, когда пользователь нажимает второй раз.Значок меню Javascript для поворота 90 градусов Onclick и поворот на 90 градусов на второй щелчок

Я использую одну функцию в Javascript и хотел бы знать, как заставить ее вращать дополнительные 90 градусов, когда пользователь нажимает второй раз.

function spin(){ 

    var spin1 = document.getElementById("spin"); 
     spin2 = document.getElementById("spin"); 

    spin1.style.transform = "rotate(90deg)"; 

} 
+0

если вы используете JQuery, вы можете просто использовать toggleClass. Я сделал это в этом кодеде: http://codepen.io/mbrillaud/pen/XJZGgj Редактирование: oops, я не видел тег Android, я не знаю, как это работает. –

+0

Моя задача состояла в том, чтобы не использовать библиотеку JQuery, поскольку рассматриваемое приложение разрабатывается и разрабатывается в чистом Javascript. Но спасибо за головы, и я буду следить за вашим кодовым пером. –

ответ

0

Вы можете попробовать ниже функции

var click =false 
function spin(){ 
     var spin1 = document.getElementById("spin"); 
     var spin2 = document.getElementById("spin"); 
    if(!click){ 
     spin1.style.transform = "rotate(90deg)"; 
     click=true; 
     }else{ 
     click=false; 
     spin1.style.transform = "rotate(180deg)"; 
     } 
} 
+0

Этот код работает отлично, но только один раз, знаете ли вы, как переключить его так, чтобы он повторялся каждый раз, когда нажимается значок меню? Нужно ли добавлять переменные для идентификации spin1 и spin2. только делали Javascript на день или около того –

+0

У меня есть обновленный код для его отмены. Но я не в состоянии понять. вы хотите, чтобы он вызывал обе эти функции. Затем вызовите функцию спина onClick = "spin (this)" и получите значение преобразованного с помощью "this" и получите сумму. Если это 90, тогда преобразуйте 180 еще 90. – nirmal

+0

Я отредактировал код, предоставленный Leonardo C, и ему удалось заставить его работать. Я сделал простую иконку меню, которая поворачивается с символа «+» на «х» после его щелчка, а затем в обратном порядке, после щелчка. –

1

Попробуйте это:

var angle = 0; 
function spin(){ 
    var spin1 = document.getElementById("spin"); 
    spin2 = document.getElementById("spin"); 
    angle+=90; 
    spin1.style.transform = "rotate("+angle+"deg)"; 
} 

Это позволит ему вращаться на 90 градусов каждый раз она нажата. Если вы хотите ограничить до 2:

var flag = false; 
function spin(){ 
    var spin1 = document.getElementById("spin"); 
    spin2 = document.getElementById("spin"); 
    spin1.style.transform = "rotate("+(flag?180:90)+"deg)"; 
    flag = true; 
} 
+0

Спасибо. Первый код работает отлично, и я немного отредактировал его, чтобы он мог работать на Android. –

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