【问题标题】:Make JS type a clickable link让 JS 键入一个可点击的链接
【发布时间】:2020-05-13 08:41:16
【问题描述】:

我想为我兄弟的生日创建一个简单的浏览器游戏,但我被卡住了。这是我在 [https://codepen.io/TehMerow/pen/RGQOEK] 找到的代码。输入正确后,我希望 JS 键入一个可点击的链接以进入下一个级别。我怎么做?如果写下正确的输入,另一种可能性是让 JS 重定向到新页面,但对我来说似乎更复杂。 请告诉我在哪里插入缺失的行,否则我不知道如何实现它。蒂亚!

var area = document.querySelector('.box-text');
var input = document.querySelector('.cmd-text');
var box = document.querySelector('.box');
var title = `Welcome, to Shady Brook Hills`
var start = `

placeholder`;

var help = `
the commands are:
help: the current command.
stand up: stand up from the current position`

var credits = `
story writer: TehMerow;
coding: TehMerow;
`
function typeWrite(text, n, delay, area){
    if(n < (text.length)){
      area.innerText += text[n];
      n++
    }
    setTimeout(function(){
      typeWrite(text, n, delay, area);
    }, delay)
}
typeWrite(title, 0, 0, area);
setTimeout(function(){
  typeWrite(start, 0, 0, area);
}, 3000)

document.addEventListener('keydown', function(e){
  e.preventDefault;

  if(e.which === 13 ){

    switch(input.value){
      case 'help':
        typeWrite('\n' + input.value + help, 0, 50, area);
        break;
      case '':
        input.value = '';
        break;
      case 'credits':
        typeWrite(credits, 0, 25, area);
        break;
      default:
        typeWrite('\n' + "I don't know how to " + input.value, 0, 50, area);
        break;
    }

    //ensure that bottom line is 
    //alays in view
    box.scrollTop += 100;
    //empty input
    input.value = ''
  }

}, false)

【问题讨论】:

  • 看起来与github.com/thepix/questjs 非常相似。您可能想检查一下,以及相关的编辑器。除此之外,您可以将级别编号作为数据添加到链接中。比如到三级
  • 谢谢,@TimB,questjs 对我来说似乎很复杂,因为正如我所说,我对 JS 几乎一无所知。除此之外,我将在 Google 协作平台中创建它,因此我需要能够将整个页面插入为带有“嵌入”选项的 iframe。 到第三级你会怎么走?我不明白在哪里插入它才能正常工作。
  • 正如我所说,QuestJS 也有一个可用的编辑器(在另一个链接存储库中)。或者你可以试试 textadventures.co.uk——你甚至可以在那里上传你的游戏。我建议您首先了解 JavaScript 的工作原理,也许还有 jQuery,因为我不知道您的游戏应该如何工作,所以我无法告诉您具体如何操作。
  • 再次感谢@TimB,我已经设法做了一些可行的事情,但仍然没有可点击链接的选项。
  • 看看 JavaScript querySelector 和 addEventListener。给链接一个 id 或类。为该类或 ID 创建一个 querySelector。然后为单击添加事件侦听器,选择要移动到哪个级别的数据,然后 tada。不过,您需要删除关卡链接或在之后禁用它。

标签: javascript hyperlink clickable


【解决方案1】:

更新:我已经设法将一些可以像文本冒险或简单的 QA 游戏一样工作的东西放在一起,但仍然没有可点击链接的选项。

function myFunction() {
  var text;
  var answers = document.getElementById("myInput").value;
  switch(answers) {
    case "answer1":
    text = "THAT IS THE CORRECT ANSWER. HERE IS YOUR LINK: https://www.link-which-should-be-clickable.com";
    break;

    case "answer2":
    location="https://www.link-which-should-be-clickable.com";
    break;

    case "answer3":    
    txt.link("https://www.link-which-should-be-clickable.com")
    break;

    default:
    text = "THAT IS NOT THE CORRECT ANSWER";
  }
  document.getElementById("demo").innerHTML = text;
}

“answer1”只写文本,“answer2”重定向到该页面,“answer3”不做任何事情。真的没有办法让这种形式的链接可以点击吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    相关资源
    最近更新 更多