编写了一个练习和解决方案页面,带有启动显示或隐藏解决方案的 js 功能的按钮。它在最新的 FF、CH 和 IE 上完美运行,但在 IE8-7-6 上,当我单击按钮时,解决方案不显示,并且我在状态行中收到“页面错误”消息。我在网上搜索解决方案,尝试了“regsvr32 jscript.dll”,没有任何帮助。这是一个jsFiddle, js 在那里也不起作用,但这可能是因为我不知道如何正确使用它。无论如何,代码都可以查看。
有问题的代码是: 1. 像这样的 html 按钮:
<button class="button100" onclick="reveal('sol2');">הצג</button>
JS 'reveal()' 函数:
function reveal(pId){
if(pId == 'all_sol'){
for(var x in solArr){
document.getElementById(x).innerHTML = "<button class=\"button100\" onclick=\"cover('" + x + "');\">הסתר</button>" + solArr[x];
}
document.getElementById(pId).innerHTML = "<button class=\"button100\" onclick=\"cover('" + pId + "');\">הסתר את כל הפתרונות</button>";
}
else {
document.getElementById(pId).innerHTML = "<button class=\"button100\" onclick=\"cover('" + pId + "');\">הסתר</button>" + solArr[pId];
}
}
这是漏洞:HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-8-i" />
<link rel="stylesheet" type="text/css" href="general_style.css" />
<link rel="stylesheet" type="text/css" href="exercises_style.css" />
<script type="text/javascript" src="exercises_script.js"></script>
<title> תרגילים </title>
</head>
<body>
<div id="container">
<div id="header">
<div class="padding_10">
<img src="logo.png"></img>
</div>
<ul class="nav_bar">
<li><a href="operators.htm"> אופרטורים </a></li>
<li id="current_nav_bar_li"><a href="exercises.htm"> תרגילים </a></li>
<li><a href="concepts.htm"> מושגים </a></li>
<li><a href="template.htm">תבנית</a></li>
</ul>
</div>
<div id="body">
<div class="padding_10">
<h1> תרגילים ופתרונות </h1>
<p> להלן תרגילים שניתנו במהלך הקורס, בצירוף פתרונותיהם. בתרגילים חישוביים הפתרון מפרט כל פעולה חישובית ש JavaScript תבצע באם יוזן התרגיל לחישוב. השורה הראשונה מציגה את הביטוי המוזן לחישוב, כל שורה מכאן ואילך מציגה פעולה אחת של JavaScript. </p>
<h2> אלגוריתם ראשון </h2>
<h3> תרגיל 1 </h3>
<p>
הבת של טל יודעת:
<ol>
<li> לצייר ולכתוב </li>
<li> להוסיף 1 לכל מספר </li>
<li> להכפיל מספר בעצמו </li>
<li> לבדוק זהות בין שני מספרים </li>
</ol>
יש לכתוב אלגוריתם שבאמצעותו תוכל הבת של טל לחשב שורש ריבועי עבור מספר נתון.
</p>
<h3> פתרון תרגיל 1 </h3>
<p id="sol1">
<button class="button100" onclick="reveal('sol1');">הצג</button>
</p>
<h2> אופרטורים '+', '-', '*' </h2>
<h3> תרגיל 2 </h3>
<p>
פתור את התרגיל על פי סדר הקדימות ב- JavaScript:
<div dir="ltr">
3 + 2 + 5 + 7 * 3 + 4 * 2 * 3
</div>
</p>
<h3> פתרון תרגיל 2 </h3>
<p id="sol2">
<button class="button100" onclick="reveal('sol2');">הצג</button>
</p>
<h3> תרגיל 3 </h3>
<p>
פתור את התרגיל על פי סדר הקדימות ב- JavaScript:
<div dir="ltr">
5 - 2 * 4 * 3 - 7 - 9 - 4 - 2 - 1 * 3
</div>
</p>
<h3> פתרון תרגיל 3 </h3>
<p id="sol3">
<button class="button100" onclick="reveal('sol3');">הצג</button>
</p>
<h2> סוגריים </h2>
<h3> תרגיל 4 </h3>
<p>
פתור את התרגיל על פי סדר הקדימות ב- JavaScript:
<div dir="ltr">
(2 + 3) + 5 + (4 + (2 * 2 + 5) - 2) + 3 * 3
</div>
</p>
<h3> פתרון תרגיל 4 </h3>
<p id="sol4">
<button class="button100" onclick="reveal('sol4');">הצג</button>
</p>
<h2> מודולו </h2>
<h3> תרגיל 5 </h3>
<p>
פתור את התרגיל על פי סדר הקדימות ב- JavaScript:
<div dir="ltr">
5 % 2 % 5
</div>
</p>
<h3> פתרון תרגיל 5 </h3>
<p id="sol5">
<button class="button100" onclick="reveal('sol5');">הצג</button>
</p>
<h3> תרגיל 6 </h3>
<p>
פתור את התרגיל על פי סדר הקדימות ב- JavaScript:
<div dir="ltr">
5 * 3 % 4 * 1 % 6
</div>
</p>
<h3> פתרון תרגיל 6 </h3>
<p id="sol6">
<button class="button100" onclick="reveal('sol6');">הצג</button>
</p>
<h2> שמות משתנים </h2>
<h3> תרגיל 7 </h3>
<p>
האם שמות המשתנים להלן חוקיים?
<div dir="ltr">
<ol class="margin_left">
<li> --- </li>
<li> ______ </li>
<li> 0_ </li>
<li> a_a </li>
<li> a1321 </li>
<li> ab 12 </li>
<li> var </li>
</ol>
</div>
</p>
<h3> פתרון תרגיל 7 </h3>
<p id="sol7">
<button class="button100" onclick="reveal('sol7');">הצג</button>
</p>
<h2> השמה </h2>
<h3> תרגיל 8 </h3>
<p>
פתור את התרגיל על פי סדר הקדימות ב- JavaScript:
<div dir="ltr">
var x, y, z;<br />
z = x = 2 * 2 + 3 + ( 4 + 5 ) + ( x = 3 ) * ( y = 2 )
</div>
</p>
<h3> פתרון תרגיל 8 </h3>
<p id="sol8">
<button class="button100" onclick="reveal('sol8');">הצג</button>
</p>
<h3> תרגיל 9 </h3>
<p>
פתור את התרגיל על פי סדר הקדימות ב- JavaScript:
<div dir="ltr">
var x, y, z;<br />
x = ( x = y = z = ( 2 * 5 ) + 3 + 2 % 2 ) % ( z = 2 - 1 * 3 )
</div>
</p>
<h3> פתרון תרגיל 9 </h3>
<p id="sol9">
<button class="button100" onclick="reveal('sol9');">הצג</button>
</p>
<p id="all_sol">
<button class="button100" onclick="reveal('all_sol');">הצג את כל הפתרונות</button>
</p>
</div>
</div>
<div id="footer">
<ul>
<li> כל הזכויות על החומר הלימודי באתר שמורות לטל שחור </li>
<li> האתר נבנה על ידי יחזקאל יובל </li>
<li> 050-9035454 </li>
<li> yovel.zack@gmail.com </li>
</ul>
</div>
</div>
</body>
</html>
和JS:
var solArr = new Object();
solArr.sol1 = "<ol><li> אם המספר הוא 0 או 1, הוא גם השורש של עצמו. אמרי לאבא שהמספר הוא השורש. אחרת המשיכי לשלב הבא.</li><li> ציירי שלושה ריבועים. </li><li> באמצעי רשמי את המספר שאת השורש שלו צריך לחשב. </li><li> בשמאלי רשמי את המספר 2.</li><li> בימני רשמי את התוצאה של הכפלת המספר הרשום בריבוע השמאלי בעצמו. </li><li> בדקי אם המספר הרשום בריבוע הימני זהה למספר הרשום בריבוע האמצעי. </li><li> אם יש זהות, אמרי לאבא שהמספר הרשום בריבוע השמאלי הוא השורש. אחרת המשיכי לשלב הבא. </li><li> אם אין זהות, הוסיפי למספר הרשום בריבוע השמאלי 1 וחיזרי לשלב 5.</li></ol>";
solArr.sol2 = "<div dir=\"ltr\"><ol class=\"margin_left\"><li>3 + 2 + 5 + 7 * 3 + 4 * 2 * 3</li><li>3 + 2 + 5 + 21 + 4 * 2 * 3</li><li>3 + 2 + 5 + 21 + 8 * 3</li><li>3 + 2 + 5 + 21 + 24</li><li>5 + 5 + 21 + 24</li><li>10 + 21 + 24</li><li>31 + 24</li><li>55</li></ol></div>";
solArr.sol3 = "<div dir=\"ltr\"><ol class=\"margin_left\"><li>5 - 2 * 4 * 3 - 7 - 9 - 4 - 2 - 1 * 3</li><li>5 - 8 * 3 - 7 - 9 - 4 - 2 - 1 * 3</li><li>5 - 24 - 7 - 9 - 4 - 2 - 1 * 3</li><li>5 - 24 - 7 - 9 - 4 - 2 - 3</li><li>-19 - 7 - 9 - 4 - 2 - 3</li><li>-26 - 9 - 4 - 2 - 3</li><li>-35 - 4 - 2 - 3</li><li>-39 - 2 - 3</li><li>-41 - 3</li><li>-44</li></ol></div>";
solArr.sol4 = "<div dir=\"ltr\"><ol class=\"margin_left\"><li>(2 + 3) + 5 + (4 + (2 * 2 + 5) - 2) + 3 * 3</li><li>() + 5 + () + 3 * 3</li><li>() + 5 + () + 9</li><ol class=\"margin_left\"><li>2 +3</li><li>5</li></ol><li>5 + 5 + () + 9</li><li>10 + () + 9</li><ol class=\"margin_left\"><li>4 + () - 2</li><ol class=\"margin_left\"><li>2 * 2 + 5</li><li>4 + 5</li><li>9</li></ol><li>4 + 9 - 2</li> <li>13 - 2</li> <li>11</li></ol><li>10 + 11 + 9</li><li>21 + 9</li><li>30</li></ol></div>";
solArr.sol5 = "<div dir=\"ltr\"><ol class=\"margin_left\"><li>5 % 2 % 5</li><li>1 % 5</li><li>1</li></ol></div>";
solArr.sol6 = "<div dir=\"ltr\"><ol class=\"margin_left\"><li>5 * 3 % 4 * 1 % 6</li><li>15 % 4 * 1 % 6</li><li>3 * 1 % 6</li><li>3 % 6</li><li>3</li></ol></div>";
solArr.sol7 = "<div dir=\"ltr\"><table><tr><td> --- </td><td> לא חוקי </td></tr><tr><td> ______ </td><td> חוקי </td></tr><tr><td> 0_ </td><td> לא חוקי </td></tr><tr><td> a_a </td><td> חוקי </td></tr><tr><td> a1321 </td><td> חוקי </td></tr><tr><td> ab 12 </td><td> לא חוקי </td></tr><tr><td> var </td><td> לא חוקי </td></tr></table></div>";
solArr.sol8 = "<div dir=\"ltr\"><ol class=\"margin_left\"><li>var x, y, z</li><li>z = x = 2 * 2 + 3 + ( 4 + 5 ) + ( x = 3 ) * ( y = 2 )</li><li>z = x = 2 * 2 + 3 + () + () * ()</li><li>z = x = 4 + 3 + () + () * ()</li><ol><li>x = 3</li><li>3//x == 3</li></ol><ol><li>y = 2</li><li>2//y == 2</li></ol><li>z = x = 4 + 3 + () + 3 * 2</li><li>z = x = 4 + 3 + () + 5</li><li>z = x = 7 + () + 5</li><ol><li>4 + 5</li><li>9</li></ol><li>z = x = 7 + 9 + 5</li><li>z = x = 16 + 5</li><li>z = x = 21</li><li>z = 21//x == 21</li><li>21//z == 21</li></ol></div>";
solArr.sol9 = "<div dir=\"ltr\"><ol class=\"margin_left\"><li>x = ( x = y = z = ( 2 * 5 ) + 3 + 2 % 2 ) % ( z = 2 - 1 * 3 )</li><li>x = () % ()</li><ol><li>x = y = z = () + 3 + 2 % 2</li><li>x = y = z = () + 3 + 0</li><li>x = y = z = () + 3</li><ol><li>2 * 5</li><li>10</li></ol><li>x = y = z = 10 + 3</li><li>x = y = z = 13</li><li>x = y = 13 //z == 13</li><li>x = 13 //y == 13</li><li>13 //x == 13</li></ol><li>x = 13 % ()</li><ol><li>z = 2 - 1 * 3</li><li>z = 2 - 3</li><li>z = -1</li><li>-1 //z == -1</li></ol><li>x = 13 % -1</li><li>x = 0</li><li>0 //x == 0</li></ol></div>";
function reveal(pId){
if(pId == 'all_sol'){
for(var x in solArr){
document.getElementById(x).innerHTML = "<button class=\"button100\" onclick=\"cover('" + x + "');\">הסתר</button>" + solArr[x];
}
document.getElementById(pId).innerHTML = "<button class=\"button100\" onclick=\"cover('" + pId + "');\">הסתר את כל הפתרונות</button>";
}
else {
document.getElementById(pId).innerHTML = "<button class=\"button100\" onclick=\"cover('" + pId + "');\">הסתר</button>" + solArr[pId];
}
}
function cover(pId){
if(pId == "all_sol"){
for(var x in solArr){
document.getElementById(x).innerHTML = "<button class=\"button100\" onclick=\"reveal('" + x + "');\">הצג</button>";
}
document.getElementById(pId).innerHTML = "<button class=\"button100\" onclick=\"reveal('" + pId + "');\">הצג את כל הפתרונות</button>";
}
else{
document.getElementById(pId).innerHTML = "<button class=\"button100\" onclick=\"reveal('" + pId + "');\">הצג</button>";
}
}