簡體   English   中英

是否可以鍵入數字以使用Javascript在頁面之間導航?

[英]Is it possible to type numbers to navigate between pages with Javascript?

我試圖找出是否有可能使用javascript或jQuery使用數字小鍵盤瀏覽Wordpress網站。

有關Flash的示例,請參見此處: http : //elevenfilm.com/-輸入3位數字之一以轉到該頁面。

有人可以幫忙嗎? 謝謝。

這是一個簡單的例子

的HTML

<input type="text" />
<div class="page page120">You're on page 120</div>
<div class="page page240">You're on page 240</div>
<div class="page page360">You're on page 360</div>

JS

$('input').keyup(function() {
   $('.page').hide();
   $('.page'+$(this).val()).show(); 
});

小提琴: http : //jsfiddle.net/5G8m9/

編輯

根據您的dom結構,ajax調用可能看起來像這樣。 您還可以設置一個主題標簽以在該頁面的url中顯示該頁面。

$('input').keyup(function () {
    $.ajax({
        url: "http://yourblog.com/page/"+$(this).val()
    }).done(function (data) {
        location.hash = $(this).val();
        $('.content').html(data);
    });
});

在此處閱讀有關內容: http : //api.jquery.com/jQuery.ajax/

Sven的編輯將起作用,但是更簡單的方法(無AJAX)將是:

$(document).keyup(function (e) {
    var charCode = (96 <= e.which && e.which <= 105) 
        ? e.which - 48 
        : e.which;
    var keyVal = String.fromCharCode(charCode);
    if (!isNaN(parseInt(keyVal)))
        window.location.href = '/?pageId=' + keyVal
});

這將只是將瀏覽器重定向到www.domain.com/?pageId=<NumberPressed> 沒有更多信息,很難改善此答案。

編輯:這是一個基本的JSFiddle

這是@DerFlatulator答案的擴展,允許您在導航到頁面之前輸入3位數字

// keys and loc should be outside the scope of your event handler
// a list of valid keys and their values (0-9 and 0-9 on numberpad)
var keys = { "48": 0, "49": 1, "50": 2, "51": 3, "52": 4, "53": 5, "54": 6, "55": 7, "56": 8, "57": 9, "96": 0, "97": 1, "98": 2, "99": 3, "100": 4, "101": 5, "102": 6, "103": 7, "104": 8, "105": 9 };
// used to hold the page being typed
var loc = []; 

$(document).keyup(function(e) {
    if (keys[e.keyCode]) {
        if (keys.push(keys[e.keyCode]) == 3) {
            document.location.href = "/?pageId=" & loc.join("");
        }
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM