html界面
<!doctype html> <html> <head> <title> select and go navigation </title> <script src = "script01.js"> </script> <link rel = "styleSheet" href = "script01.css" relied "rel =" external nofollow "> </head> <body =" gotolocertolocation.cgi "> <選択> [トピックを選択] </option> <オプション値= "script06.html">クロスチェックフィールド</option> <option値= "script07.html">ワークラジオボタン</option> <option value = "script08.html"> 1つのフィールドを別のフィールドで設定</option> <オプション> <オプション> " value = "script10.html">電子メールアドレスの検証</option> </select> <noscript> <input type = "submit" value = "go go!"> </noscript> </form> </body> </html>
实现菜单导航
window.onload = initform; window.onunload = function(){}; function initform(){document.getElementbyId( "newlocation")。selectedIndex = 0; document.getElementById( "NewLocation")。 [newLoc.SelectedIndex] .Value; if(newPage!= ""){window.location = newPage;}}}下面是源码分析
1。
window.onload = initform;
window.onunload = function(){};
在窗口加载时、调用initform()函数。下一行需要解释一下、因为它是处理某些浏览器的古怪行为的变通方法。
当窗口卸载时(即关闭窗口或者浏览器转到另一个网址)、我们调用一个匿名函数(、匿名機能)、即没有名称的函数。在这个示例中、即没有名称的函数。在这个示例中、这个函数不但没有名称、而且根本不做任何事情。提供这个函数是因为必须将、onunload设置为某种东西、否则、当单击浏览器的、当单击浏览器的按钮时、就不会触发load事件、就不会触发firefox和safari )中页面会被缓存。让、)中页面会被缓存。让、因此当用户后退时、因此当用户后退时、
匿名是指在関数和()
2。
document.getElementById( "NewLocation")。selectedIndex = 0;
document.getElementById( "NewLocation")。onChange = jumpage;
在initform()函数中、第一行获得html
第二行让脚本在菜单选择发生改变时、调用jumpage()函数。
3。
var newloc = document.getElementById( "newlocation");
在jumpage()函数中、newloc变量查找访问者在菜单中选择的值。
4。
var newPage = newloc.options [newloc.selectedIndex] .Value;
从方括号中的代码开始、向外依次分析。newloc.selectedIndex
个菜单选项。记住javascript 的编号常常是基于零的)。得到这个数字之后、接下来获得对应的菜单项
的值、这就是我们希望跳转到的网页的名称。然后、将结果赋值给变量newpage。
5。
if(newPage!= ""){
window.location = newPage;
这个条件语句首先检查newpage是否非空。换句话说、如果beypage有一个值、那么让窗口转到
选择的菜单项所指定的url。