2013-05-21 32 views
1

我正嘗試通過條目之間的關鍵事件來創建導航。左鍵和右鍵向兩端移動。它的作用類似於我從某人修改過的JsFiddle,但實際上每個條目都會有自己的鏈接到上一個和下一個鏈接。帶關鍵事件的AngularJS導航

angular.element($document).bind("keyup", function(event) { 
    if (event.which === 37) { 
    $scope.$apply(function() { 
     $location.path("/Book/Moby"); 
    }); 
    } else if (event.which === 39) { 
    $scope.$apply(function() { 
     $location.path("/Book/Gatsby"); 
    }); 
    } 
}); 

看來工作中的jsfiddle正常,但如果你看一下控制檯,看到左邊的觸發事件的數量和右keyups將嚴重放緩的導航。這些事件中的每一個都會運行$ location.path。

就怎麼聽的事件只有一次或刷新舊的事件將是巨大的任何意見

回答

2

您可以unbind之前綁定它。

angular.element($document).unbind('keyup'); 
0
 First of all you have to check whether it is hide from bottom side or upper side. 

讓我們假設元素裏,它曾經是最常見的DOM。

<ul> 
<li></li> 
<li></li> 
<li></li> 
<li></li> 
<ul> 

然後每立高度UL。如果相對現在的位置也有1000元,然後,如果你想找出第900元的位置,然後你可以找到與偏移(),但是當你應用動畫,讓他們可見你會被卡住,滾動不是移動元素,它隱藏它應該更多。

use some Mathematics Height*nth:child will always give you a right position 

提供撥弄expamle使基本概念將得到明確 http://jsfiddle.net/MGwVM/108/