键盘导航JQuery

时间:2011-10-15 15:01:25

标签: jquery navigation key

我创建了一个与http://themeforest.s3.amazonaws.com/116_parallax/tutorial-source-files/tut-index.html非常相似的网站。现在我想添加键导航。因此,当我向右箭头方向移动时,它将转到方框2,当箭头离开时返回主页。 我试过这个教程http://jqueryfordesigners.com/adding-keyboard-navigation/

所以:

$().ready(function() {

$(document.documentElement).keyup(function (event) {
var direction = null;

// handle cursor keys
if (event.keyCode == 37) {
  // go left

  direction = 'prev';
} else if (event.keyCode == 39) {
  // go right
  direction = 'next';
}

if (direction != null) {
  $('.coda-slider-wrapper ul a#current').parent()[direction]().find('a').click();
}
});
});

<div id="header" class="coda-slider-wrapper">
    <h1 id="logo">Scrolling Clouds</h1>
    <ul id="menu">
      <li><a href="#box1" class="link" id="current">Home</a></li>
        <li><a href="#box2" class="link">Box 2</a></li>
        <li><a href="#box3" class="link">Box 3</a></li>
        <li><a href="#box4" class="link">Box 4</a></li>
  </ul>
</div>

不幸的是它不能正常工作因为只有一个元素有id =“当前”。 如何让它工作?如何添加动态ID?请把所有代码写给我。

寻求帮助。

1 个答案:

答案 0 :(得分:2)

您需要在当前的任何链接上设置#current。为此,请使用以下代码:

$(function(){
    var list = $('.coda-slider-wrapper ul');
    list.find('a').click(function(e){
        list.find('a').removeAttr('id');
        this.id = 'current';
    });
});