在开发在线考试系统中,需要实现用户点击右边的试题编号时就跳转到该页面的某一试题
刚开始使用
$("input[type='button']").live("click", function () {//设置页面BUTTON按钮的CLICK事件
var btnid = $(this).attr("id"); //获得按钮的value
if (btnid != undefined && btnid != null) {
var id = btnid.substring(6, btnid.length);
window.location.href = "OnLineExam.htm?#label" + id; //光标跳转到对应的题目
}
});
后来发现,第一次点击,整个页面要刷新,原来浏览器刚开始地址是
http://OnLineExam.htm
点击某一题号后,比如35号,变为
http://OnLineExam.htm?#label35
所以导致页面刷新,后来改用
$("input[type='button']").live("click", function () {//设置页面BUTTON按钮的CLICK事件
var btnid = $(this).attr("id"); //获得按钮的value
if (btnid != undefined && btnid != null) {
var id = btnid.substring(6, btnid.length);
window.location.hash = "label" + id; //光标跳转到对应的题目
}
});
就OK了
location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用location.href=url就可以直接将页面重定向url。而location.hash则可以用来获取或设置页面的标签值。比如http://domain/#admin的location.hash="#admin"。利用这个属性值可以做一个非常有意义的事情。