2012-08-08 61 views
3

因此,我正在使用鍵盤前後腳本,就像他們在Tumblr和9GAG上一樣(可以使用J和K鍵導航文章)。如何在id已被使用時存儲div的標識?

我的方法:

用戶按下Ĵ(下一個)鍵

JavaScript使用JQuery的視口,以找出哪些 「跳」 -ID目前在:視

的Javascript增加+1到「跳轉」-ID

Javascript獲取增加的「跳轉」-ID的位置,滾動那裏

現在的問題是:

<div class="content jump" id="<?php echo $id; ?>"> 

我已經定義的div的ID。所以它看起來像這樣:

<div class="content jump" id="1225"> 
<div class="content jump" id="1299"> 
<div class="content jump" id="1206"> 
<div class="content jump" id="1345"> 

但是,爲了能夠以正確的順序我莫名其妙地需要存儲附加標識,也許像這樣跳...

<div class="content jump" id="1225" jump="1"> 
<div class="content jump" id="1299" jump="2"> 
<div class="content jump" id="1206" jump="3"> 
<div class="content jump" id="1345" jump="4"> 

這只是我的想象力。應該有辦法解決這個問題。如果你有更好的J/K問題解決方案,你也可以自由告訴我(也許Tumblr或9GAG有更好的解決方案嗎?)

+0

只需爲跳轉ID添加另一個類? – peacemaker 2012-08-08 17:03:36

回答

7

你可以使用data-屬性。例如:

<div class="content jump" id="1225" data-jump="1"> 

然後,可以通過使用

$('#1225').data('jump'); 
+0

如何在Javascript中獲取數據? – 2012-08-08 17:04:57

+0

@JonasKaufmann它仍然是一個屬性,你可以通過名字獲取它,或者如果你正在使用jQuery,你可以像上面的例子那樣做。 – TheZ 2012-08-08 17:06:38

+0

嘿,這很有趣。這是一個特定於JQuery的事情,還是一般支持的Javascript?並驗證它嗎? – 2012-08-08 17:06:40

0

獲取該數據可以應用的類的任意數量的給定對象。因此,只需將第一個標籤更改爲如下形式:

<div class="content jump jump-1" id="1225"> 

應該給你所需的鉤子。它實際上驗證。 :)

+1

只需在我的肥皂盒上攀爬。人們極度強調ID查找的速度優勢。在現代瀏覽器中,$('#jump1')和$('。jump1')之間的差異約爲2倍,並且都只需要幾納秒。 – Jason 2012-08-08 17:36:32

相關問題