我正在讀一個程序來製作滑動菜單。雖然程序運行良好,但有些事情我不知道他們的意思是什麼,他們在做什麼。「滑動菜單」程序的問題
HTML
<html>
<head>
<title>Shakespeare's Plays</title>
<link rel="stylesheet" href="script.css" />
<script type="text/javascript" src="script.js">
</script>
</head>
<body>
<h1>Shakespeare's Plays</h1>
<div>
<a href="menu1.html" class="menuLink">Comedies</a>
<ul class="menu" id="menu1">
<li><a href="pg1.html">All's Well That Ends Well</a></li>
<li><a href="pg2.html">As You Like It</a></li>
</ul>
</div>
<div>
<a href="menu2.html" class="menuLink">Tragedies</a>
<ul class="menu" id="menu2">
<li><a href="pg5.html">Anthony & Cleopatra</a></li>
<li><a href="pg6.html">Hamlet</a></li>
</ul>
</div>
<div>
<a href="menu3.html" class="menuLink">Histories</a>
<ul class="menu" id="menu3">
<li><a href="pg8.html">Henry IV, Part 1</a></li>
<li><a href="pg9.html">Henry IV, Part 2</a></li>
</ul>
</div>
</body>
</html>
CSS
body {
background-color: white;
color: black;
}
div {
padding-bottom: 10px;
background-color: #6FF;
width: 220px;
}
ul.menu {
display: none;
list-style-type: none;
margin-top: 5px;
}
a.menuLink {
font-size: 16px;
font-weight: bold;
}
a {
text-decoration: none;
}
Java腳本
window.onload = initAll;
function initAll() {
var allLinks = document.getElementsByTagName("a");
for (var i=0; i<allLinks.length; i++) {
if (allLinks[i].className.indexOf("menuLink") > -1) {
allLinks[i].onclick = toggleMenu;
}
}
}
function toggleMenu() {
var startMenu = this.href.lastIndexOf("/")+1;
var stopMenu = this.href.lastIndexOf(".");
var thisMenuName = this.href.substring(startMenu,stopMenu);
var thisMenu = document.getElementById(thisMenuName).style;
if (thisMenu.display == "block") {
thisMenu.display = "none";
}
else {
thisMenu.display = "block";
}
return false;
}
在javascript
code:
這2條語句做了什麼?
var startMenu = this.href.lastIndexOf("/")+1; var stopMenu = this.href.lastIndexOf(".");
this.href
是什麼意思。我知道this
指的是鏈接,但href
表示什麼?- 聲明
thisMenu.display == "block"
是什麼意思?我的意思是說什麼是display
和什麼是block
。該代碼不會在任何地方聲明。 - 以同樣的方式
none
是什麼意思? - 陳述
document.getElementById(thisMenuName).style
返回什麼?
爲什麼我不能只寫'this.lastIndexof(「/」)' –
閱讀我對你的第一個問題的答案,你可以回答你的自我。但以防萬一:* this *引用DOM元素,它沒有* lastIndexOf *屬性。它**確實**具有* href *屬性,其值是一個字符串,而字符串** do **具有* lastIndexOf *屬性。 – RobG