2010-08-17 7 views
0

Hey les gars. J'ai un script de quiz, qui a des questions dans différents divs, ils viennent l'un après l'autre, et je veux que lorsque le dernier div fadeIn il montrerait soumettre le bouton au lieu d'un bouton de question suivante.Vérifiez si div est le dernier et afficher le bouton

Voici mes js.

$('#questions').ready(function(){ 

    for (i = 1; i < 100; i++) { 
     if ($('#question' + i).length > 0) { 
      $('#question' + i).hide(); 


    } else { 
      break; 
     } 

    } 



}); 


function transition(question_id) { 

    $('#question' + question_id).fadeOut('fast',function() { 
      question_id++; 
     if ($('#question' + question_id).length > 0) { 
      $('#question' + question_id).fadeIn('fast'); 

     } else { 
      $('#test').submit(); 
    } return false; 

    }); 

} 

Voici mon html:

<div class="questions"> 
     <div id="question0" class="question"> 
<span class="qutitle">asdg asdg</span> <br /> 

     <FIELDSET> 


       <br /> <input id="q_0" type="radio" name="q_0" value="0"> sdgas      <br /> 



       <br /> <input id="q_0" type="radio" name="q_0" value="2">dgasdg      <br /> 



       <br /> <input id="q_0" type="radio" name="q_0" value="1">dgas      <br /> 

</FIELDSET><input type="button" onclick="javascript: transition(0);" value=""> 
</div> 
     <div id="question1" class="question"><span class="qutitle">asdgasd</span> <br /> 

     <FIELDSET> 


       <br /> <input id="q_1" type="radio" name="q_1" value="0">gasdg      <br /> 



       <br /> <input id="q_1" type="radio" name="q_1" value="2">asdgasdg      <br /> 



       <br /> <input id="q_1" type="radio" name="q_1" value="1">sdgasdg      <br /> 

</FIELDSET><input type="button" onclick="javascript: transition(1);" value=""> 
</div> 
     <div id="question2" class="question"><span class="qutitle">sgasdgasd</span> <br /> 

     <FIELDSET> 


       <br /> <input id="q_2" type="radio" name="q_2" value="1">asdgsad      <br /> 



       <br /> <input id="q_2" type="radio" name="q_2" value="2">gasdg      <br /> 



       <br /> <input id="q_2" type="radio" name="q_2" value="0">gasdg      <br /> 

</FIELDSET><input type="button" onclick="javascript: transition(2);" value=""></div> 

Toute aide est appréciée.

Merci.

Répondre

1
questions = $('.question').length; // total number of questions 

Je suppose que vous pourriez faire quelque chose comme:

if(questions-1 == question_id){ 
    //Show submit button & hide next button 
} 

De plus, au début, vous pouvez simplement faire $('.questions').hide(), au lieu de la boucle.

1

$('div[id *= "question"]:last') obtiendra la dernière div avec "question" sur l'ID.

Edit:

Pour afficher le bouton, vous pouvez le faire:

$('div[id *= "question"]:last').children('input[type == "button"]).fadeIn('fast') 
Questions connexes