2014-02-09 3 views
0

У меня есть монета на моей странице, которую пользователь нажимает, и она должна продолжать листать из-за этого добавленного класса при каждом нажатии.Как добавить класс по клику, который работает?

Я использую animate.css с классом «флип»

Так что я получил:

function coinToss() { 
     var number = Math.floor(Math.random() * 2); 


     $("#coin").toggleClass('flip'); 




     if(number == 0) { 
      var value = $("#headsText").val(); 
      document.getElementById("result").innerHTML="Heads"; 
      $('#resultText').html($("#headsText").val()); 
     } 
     else if(number == 1) { 
      var value = $("#tailsText").val(); 
      document.getElementById("result").innerHTML="Tails"; 
      $('#resultText').html($("#tailsText").val()); 
    } 

} 

С этой монеты только переворачивается в первый раз. Мне нужно, чтобы он щелкал каждый щелчок.

+0

Как вы используете 'coinToss()' – Satpal

+0

это '$ (" # монета ") .addClass (" flip ");' не должно быть внутри 'else'? –

+1

У вас есть ошибка в 'else'. Должно быть 'else {... code ...}'! – loveNoHate

ответ

3

Просто используйте toggleClass(), метод означает, что если согласованные элементы не имеют имени класса, добавьте его; если согласованные элементы уже имеют имя класса, а затем удалите его.

function coinToss() { 
    $("#coin").toggleClass('flip'); 
} 

DEMO

+0

Но тогда при следующем щелчке класс удаляется и ничего не происходит. – thomasp423

+0

@ thomasp423 Итак, как ваша работа держится? – loveNoHate

+0

@ thomasp423, вам нужно показать, как вы используете функцию 'coinToss()', чтобы помочь вам – Satpal

0

Это должно быть $("#coin").addClass("flip"); внутри else состояние.

function coinToss() {  
if($("#coin").hasClass("flip")){ 
     $(this).removeClass("flip") 
} 
else { 
    $("#coin").addClass("flip"); 
} 
2

Использование toggleClass() для переключения между классом и setInterval() для выполнения в каждом 1 секунду

var inter; 
function coinToss() { 
    $("#coin").toggleClass('flip'); 
} 
$('.button').click(function(){inter=setInterval(coinToss,1000)}); 
$('.stop').click(function(){clearInterval(inter)}); 

Fiddle Demo

+1

Это позволяет переворачивать монетки без щелчка пользователем. Мне это нужно только по щелчку. – thomasp423

+0

@ thomasp423 «нужно, чтобы он продолжал переворачиваться», свободно интерпретируемый !! – loveNoHate

+0

http://jsfiddle.net/pranavcbalan/nGfbH/3/ –

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