Проблемы с функцией jquery на IE8 - PullRequest
0 голосов
/ 07 марта 2012

Я хочу показать и скрыть элемент одним нажатием кнопки, но он не работает, он работает на Chrome, но не на IE8. В начале страницы вы должны видеть только первый div, а все остальные должны быть скрыты (это работает на ie8), но затем, когда я нажимаю на следующую кнопку, он должен скрывать первый и показывать только второй div. Я использую jQuery 1.7.1. пожалуйста, смотрите код ниже.

мне очень жаль, что это весь код страницы

<html>

<HEAD>
<style type="text/css" >
form{
    background:#06F;

}
span{
    float:left;
}
#q1{
    display:block;  
}
#q2{
    display:none;
}
#q3{
    display:none;
}
#q4{
    display:none;
}
#q5{
    display:none;
}
input{
    float:left;
}
</style>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>

<SCRIPT LANGUAGE="JavaScript">


var ans = new Array;
var done = new Array;
var yourAns = new Array;
var explainAnswer = new Array;

var score = 0;
ans[1] = "b";
ans[2] = "b";
ans[3] = "a";
ans[4] = "c";
ans[5] = "b";

explainAnswer[1]="The reason why Answer 1 is Blah Blah Blah";
explainAnswer[2]="The reason why Answer 2 is Blah Blah Blah";
explainAnswer[3]="The reason why Answer 3 is Blah Blah Blah";
explainAnswer[4]="The reason why Answer 4 is Blah Blah Blah";
explainAnswer[5]="The reason why Answer 5 is Blah Blah Blah";

function Engine(question, answer) {
yourAns[question]=answer;
}

function Score(){
var answerText = "How did you do?\n------------------------------------\n";
for(i=1;i<=5;i++){
   answerText=answerText+"\nQuestion :"+i+"\n";
  if(ans[i]!=yourAns[i]){
    answerText=answerText+"\nThe correct answer was "+ans[i]+"\n"+explainAnswer[i]+"\n";
  }
  else{
    answerText=answerText+" \nCorrect! \n";
    score++;
  }
}

answerText=answerText+"\n\nYour total score is : "+score+"\n";

//now score the user
answerText=answerText+"\nComment : ";
if(score<=0){
answerText=answerText+"You need to learn some more";
}
if(score>=1 && score <=2){
answerText=answerText+"bit more practice";
}
if(score>=3 && score <=3){
answerText=answerText+"doing ok";
}
if(score>4){
answerText=answerText+"You are one hot java babe!";
}

alert(answerText);
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile("\\omriljedocpd01\OMRILAPPS\OmrilDocs\Omrix Public\All Omrix Public\Training", true);
s.WriteLine(answerText);
s.Close();

}

function toggleDivStart(divId) {
   $("#q1").toggle();
   $("#q2").toggle();
   $("#q3").toggle();
   $("#q4").toggle();
   $("#q5").toggle();
}
function toggleDiv12(divId) {
   $("#q1").toggle();
   $("#q2").toggle();
}
function toggleDiv23(divId) {
   $("#q2").toggle();
   $("#q3").toggle();
}

function toggleDiv34(divId) {
   $("#q3").toggle();
   $("#q4").toggle();
}
function toggleDiv45(divId) {
   $("#q4").toggle();
   $("#q5").toggle();
}
$(function() {
        $( "#radio" ).buttonset();
    });

</script>

</HEAD>

<!-- STEP TWO: Copy this code into the BODY of your HTML document  -->

<BODY>

<DIV ALIGN="CENTER">
<h1>Java Quiz</h1>
<b>Test your knowledge of Java!</b>
<hr>
<FORM>

<div id="q1">
<b>1. What is the name of the Java mascot?</b><br>
<input type=radio name="q1" value="a" onClick="Engine(1, this.value)"><span>a) Luke</span><br>
<input type=radio name="q1" value="b" onClick="Engine(1, this.value)"><span>b) Duke</span><br>
<input type=radio name="q1" value="c" onClick="Engine(1, this.value)"><span>c) Nuke</span><br>
<input type=radio name="q1" value="d" onClick="Engine(1, this.value)"><span>d) Sunny</span><p>
  <button id="removeClass"><a href="javascript:toggleDiv12('q1');" >Next</a></button>

</div>
<div id="q2">
<b>2. Where is the best place to get Java software?</b><br>
<input type=radio name="q2" value="a" onClick="Engine(2, this.value)"><span>a) From a can</span><br>
<input type=radio name="q2" value="b" onClick="Engine(2, this.value)"><span>b) From java.sun.com</span><br>
<input type=radio name="q2" value="c" onClick="Engine(2, this.value)"><span>c) You have to buy it from Microsoft</span><br>
<input type=radio name="q2" value="d" onClick="Engine(2, this.value)"><span>d) From your local Star Bucks</span><p>
  <button id="addClass2"><a href="javascript:toggleDiv12('q1');" >Preview</a></button>
  <button id="removeClass2"><a href="javascript:toggleDiv23('q2');" >Next</a></button>
</div>
<div id="q3">
<b>3. A 'for' loop in Java looks like this....</b><br>
<input type=radio name="q3" value="a" onClick="Engine(3, this.value)"><span>a) for(int i=0;i<5;i++){}</span><br>
<input type=radio name="q3" value="b" onClick="Engine(3, this.value)"><span>b) for i=1 to 5 do</span><br>
<input type=radio name="q3" value="c" onClick="Engine(3, this.value)"><span>c) repeat...until(i=5)</span><br>
<input type=radio name="q3" value="d" onClick="Engine(3, this.value)"><span>d) FOR I:=5 DOWNTO 1 DO</span>  <p>
  <button id="addClass3"><a href="javascript:toggleDiv23('q2');" >Preview</a></button>
  <button id="removeClass3"><a href="javascript:toggleDiv34('q3');" >Next</a></button>
</div>
<div id="q4">
<b>4. Which platform can not run Java.</b><br>
<input type=radio name="q4" value="a" onClick="Engine(4, this.value)"><span>Linux</span><br>
<input type=radio name="q4" value="b" onClick="Engine(4, this.value)"><span>Windows NT</span><br>
<input type=radio name="q4" value="c" onClick="Engine(4, this.value)"><span>Commodore 64</span><br>
<input type=radio name="q4" value="d" onClick="Engine(4, this.value)"><span>Apple Mac</span>
<p>
  <button id="addClass4"><a href="javascript:toggleDiv34('q3');" >Preview</a></button>
  <button id="removeClass4"><a href="javascript:toggleDiv45('q4');" >Next</a></button>
</div>

<div id="q5">

<b>5. 'JMF' stands for: </b><br>
<input type=radio name="q5" value="a" onClick="Engine(5, this.value)"><span>A pop group of the 90's who had the hit "Unbelievable"</span><br>
<input type=radio name="q5" value="b" onClick="Engine(5, this.value)"><span>Java Media Framework</span><br>
<input type=radio name="q5" value="c" onClick="Engine(5, this.value)"><span>Java Messaging Framework</span><br>
<input type=radio name="q5" value="d" onClick="Engine(5, this.value)"><span>Java Meditation Forum</span><p>
  <button id="addClass5"><a href="javascript:toggleDiv45('q4');" >Preview</a></button>
    <input type=button onClick="Score()" value="Well... How did I do?">
</div>

</FORM>
</DIV>

<body>
<html>
<p>&nbsp;  </p>
 please help me

Я изменил код, теперь это полный код страницы, который запускается в Chrome Safari

Ответы [ 4 ]

2 голосов
/ 07 марта 2012

В вашем примере отсутствует тег <script>!?

1 голос
/ 07 марта 2012

Если это фактический код, который вы используете, то вам не хватает открывающего тега <script type="text/javascript">. Я вижу закрывающий </script> после вашего JS-кода, но не открывающий скрипт-тег после вашего закрывающего </style> до вашего JavaScript-кода.

0 голосов
/ 07 марта 2012

Вам нужно где-нибудь вызвать функцию, нет?

Я вижу, вы объявляете их, что их вызывает / вызывает?

0 голосов
/ 07 марта 2012

Вы пропускаете <script>

после </style>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...