2017-03-10 10 views
0

は基本的に私は、モバイルビュー用アプリケーションスタイルサイトでつもりですし、彼らは上部のナビゲーションバーには、あなたがそれらをめくることができますしながら、順番にページをめくるために下にあるボタンを望んでいました任意の順序で。下のボタンを変更して、どちらのボタンが表示されているかに応じて、次のページにリンクします。特定のボタンがフォーカスされているときにボタンがリンクを変更したいと思っています。私はいろいろなことを試みましたが、それを機能させるように見えません。あなたの魔法をしてください。ボタンがフォーカスされたリンクを変更

if(document.getElementById("abt").hasFocus()) { 
document.getElementById("golink").href = "#work"; 

}

+0

あなたが何であるかを焦点知っていますか?ユーザーの変更が集中したりぼかしイベントhappens.WhatはHTTP 'への' href'を変更するリンクの間の差になるまで、それはちょうど、ユーザーの相互作用が注力しているものは何でもに送られます:// xwz.com'集中とリンク常に 'xyz.com'にhrefがありますか?ユーザーはフォーカスイベントを使用するだけでトリガーしませんか?トリガーで推測する方法がありますが、これは前者の考えと同じように役に立たないと思います。あるいは、私は何かを欠いているのですが、[mcve]の欠如のほかに? – zer00ne

+0

私は別の[OK]を、それははるかに理にかなって –

+0

焦点を当てていますが、フォームまたはタブ移動を使用していることが重要である場合を除き、焦点より良い方法がある中に1つのボタンのリンクを変更しようとしています。 – zer00ne

答えて

0

私はfocusあなたはフォーカスがフォームオブジェクトの外に追跡することができつかの間として探しているものがあるとは思いません。

私はあなたが探しているものにあなたを支援するのに役立つ可能性のある解決策を嘲笑しました。ここで

はJSFiddleへのリンクです:

EDIT - フィドルを更新:フィドルでhttps://jsfiddle.net/t0uwff4t/

Javascriptを:

// Array of sections. 
var sections = [ 
    '#first', 
    '#second', 
    '#third', 
    '#fourth', 
    '#fifth' 
] 

// Get the last value in the array. 
var lastArrayValue = sections[sections.length - 1]; 

// Button pointer 
var btn = document.querySelector('#button'); 

// On click of the button, do work. 
btn.onclick = function() { 
    // Get the current href. 
    var href = btn.getAttribute('href'); 

    // Ternary operator setting the index to zero if the user is on the last index of array. 
    // Else set the index to the next array value. 
    var index = (href === lastArrayValue) ? 0 : sections.indexOf(href) + 1; 

    // Set the href attribute. 
    btn.setAttribute('href', sections[index]); 
} 

注:この例では動作しますが、これが唯一のモックアップです - これは、ユーザーが「フリップページ」をすばやくクリックすることを説明していないことを意味します。

幸運と私はこれがあなたの目標にあなたを助け願っています。

関連する問題