举例:
代码如下 | 复制代码 |
<a id="last" href="<?=$lefturl?>">上一章</a> <a id="booklist" href="<?=$booklisturl?>">返回目录</a> <a id="next" href="<?=$righturl?>">下一章</a> |
js代码
代码如下 | 复制代码 |
<script language="javascript"> <!-- last=document . getElementById("last").href; next=document . getElementById("next").href; booklist=document . getElementById("booklist").href; function keyUp(e) { if(navigator.appName == "Microsoft Internet Explorer") { var keycode = event.keyCode; var realkey = String.fromCharCode(event.keyCode); }else { var keycode = e.which; var realkey = String.fromCharCode(e.which); } if(keycode==39){ window.location.href=next; } if(keycode==37){ window.location.href=last; } if(keycode==13){ window.location.href=booklist; } } document.onkeydown = keyUp; //--> </script> |
今天从网上看到这个功能,不错啊,以后就可以在文章中,增加这个功能了
代码如下 | 复制代码 |
var re = /<a href=["']?([-=w./?]+)["']?>[[(<]?上一页[])>]?</a>/igm; if (window.document.body.innerHTML.search(re) >= 0) { var PREVIOUS_PAGE = RegExp.$1; } 如果搜下到"上一页",则定义var PREVIOUS_PAGE = RegExp.$1; var re = /<a href=["']?([-=w./?]+)["']?>[[(<]?下一页[])>]?</a>/igm; if (window.document.body.innerHTML.search(re) >= 0) { var NEXT_PAGE = RegExp.$1; } 如果搜下到"下一页",则定义var NEXT_PAGE = RegExp.$1; if (typeof PREVIOUS_PAGE == "string" || typeof NEXT_PAGE == "string") { document.onkeydown = function() { switch (event.srcElement.tagName) { case "INPUT": case "TEXTAREA": case "SELECT": break; default: if (event.keyCode == 37 /* Arrow Left*/ && typeof PREVIOUS_PAGE == "string") { window.location.href = PREVIOUS_PAGE; } else if (event.keyCode == 39 /* Arrow Right */ && typeof NEXT_PAGE == "string") { window.location.href = NEXT_PAGE; } } } } |
下面说一下我做过的一个上下翻页的快捷键实现。当用户点击左右方向键时,js获取键盘代码,然后跳转到下一页或者上一页,现在网上很多代码都是ie的,firefox下无法执行,很多时候都是因为ff下不支持非标准的**.click()造成的,ie下对A标签进行click操作默认转到了相应的网址,而ff下不可行(onClick()倒是可以,不过这是执行的A的onClick事件)。
解决办法也很简单,我们可以采用这个方法:捕获用户点击右方向键时,把下一页的A的href属性赋给window.location.href就可以了。
代码如下 | 复制代码 |
var $=function(id) document.onkeydown = hotKey;//左右键 |