Question to say "I can!"

用键盘左右键实现WordPress上下翻页

2012-03-31

参考于:LMS——用键盘左右键实现WordPress上下翻页

 

用键盘左右键实现wordpress上下翻页,其实原理和ctrl+enter来实现提交评论一样的道理,本篇文章转自露兜博客,支持ie和ff,没有测试是否兼容谷歌chrome,我私下里觉得既然支持firefox那应该会支持chrome了,应该吧。下面是代码:

1
2
3
4
5
6
7
8
9
10
document.onkeydown = chang_page;
function chang_page(e) {
    var e = e || event, 
    keycode = e.which || e.keyCode;

    if (keycode == 37 || keycode == 33)
        location = "<?php echo get_permalink(get_adjacent_post(false, '42', false)); ?>";
    if (keycode == 39 || keycode == 34)
        location = "<?php echo get_permalink(get_adjacent_post(false, '42', true)); ?>";
}

将上面给出的翻页代码复制到single.php内保存,无论是IE还是FF,均能完美实现键盘翻页。说 明:get_adjacent_post()函数中的42是指排除分类ID为42的文章——也就是说,在翻页过程中会自动跳过该分类下的文章(因为本站 ID=42的分类被用于改造个人微博,并不想与文章一起翻页展示)。如果没有特殊要求,这个参数留空即可,读者可根据个人博客的实际需要自行修改。

文章列表页面(如首页、分类页面、存档页面等)是否也可以实现键盘翻页呢?我们只需使用 get_previous_posts_page_link()和get_next_posts_page_link()代替上述代码中的 get_adjacent_post()函数即可达到目的:

1
2
3
4
5
6
7
8
9
10
document.onkeydown = chang_page;
function chang_page(e) {
    var e = e || event,
    keycode = e.which || e.keyCode;

    if (keycode == 37 || keycode == 33)
        location = "<?php echo get_previous_posts_page_link(); ?>";
    if (keycode == 39 || keycode == 34)
        location = "<?php echo get_next_posts_page_link(); ?>";
}

将上面的代码放置到相应页面,自己试试吧!



作者:admin | Categories:设计问题 | Tags:

2条评论

  1. 华夏中文说道:

    document.onkeydown = chang_page;
    function chang_page() {
    if (event.keyCode == 37 || event.keyCode == 33)
    location = "";
    if (event.keyCode == 39 || event.keyCode == 34)
    location = "";
    }

    这个代码怎么改成在同一分类下翻页呢,不要翻到别的分类文章下

  2. 书法时间说道:

    多谢指点,能翻页了。但进行评论时,如果是有了左右光标键,就麻烦了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

无觅相关文章插件,快速提升流量