按钮聚焦时更改链接

时间:2017-03-10 20:22:46

标签: javascript if-statement button hyperlink

基本上我会使用移动视图的应用程序样式网站,他们希望底部的按钮按顺序翻阅页面,而顶部的导航允许您按任意顺序翻阅它们。我想更改底部按钮以链接到下一页,具体取决于它所在的页面。所以我希望按钮在特定按钮聚焦时更改链接。我尝试了许多不同的东西,似乎无法使它发挥作用。请你的魔法。

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

}

1 个答案:

答案 0 :(得分:0)

我不相信focus是你正在寻找的东西,因为焦点可以在表格对象之外转瞬即逝。

我嘲笑了一个可能的解决方案,以帮助你找到你想要的东西。

这是JSFiddle的链接:

编辑 - 更新了小提琴: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]);
}

注意:虽然此示例有效,但这只是一个模型 - 这意味着它不会说明用户快速点击按钮以翻转页面。

祝你好运,我希望这有助于你实现目标。