JavaScript-如何在函数完成后淡入不可见的按钮元素?

JavaScript-如何在函数完成后淡入不可见的按钮元素?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我对JavaScript/HTML/CSS非常陌生,所以我不知道该怎么做 我要做的是编写一个脚本,在特定函数中显示一些文本,然后,当函数完成显示文本时,在HTML按钮或类似按钮中自动淡出,而不必单击任何特定元素。我可以想象,按钮必须先插入,然后以某种方式隐藏起来,而淡入则是改变按钮可见性的问题。这在Javascript中是可能的,还是有其他(可能更简单的)方法?任何帮助都将不胜感激 以下是我目前的代码: 沙箱 var a=1; 功能对话(){ var message=“这条消息(希望)是J

我对JavaScript/HTML/CSS非常陌生,所以我不知道该怎么做

我要做的是编写一个脚本,在特定函数中显示一些文本,然后,当函数完成显示文本时,在HTML按钮或类似按钮中自动淡出,而不必单击任何特定元素。我可以想象,按钮必须先插入,然后以某种方式隐藏起来,而淡入则是改变按钮可见性的问题。这在Javascript中是可能的,还是有其他(可能更简单的)方法?任何帮助都将不胜感激

以下是我目前的代码:


沙箱

var a=1; 功能对话(){ var message=“这条消息(希望)是JS视频游戏滚动的一个成功实现!

非常酷,是吗?信不信由你,这整个页面是对一个使用HTML/JavaScript的非常基本的交互故事的测试!

让我们看看是否可以添加一些淡入按钮,好吗?

(顺便说一句,您可以单击此窗口中的任意位置,立即清除后续的文本滚动。);
if(a如果您想在完成文本编写时显示按钮,可以将此代码添加到if语句中

else{
    document.getElementById("button1").style.display = "block";
}

当您完成编写时,这将显示按钮,因为这条语句不是真的:
a当然,这是可能的。如果我理解正确,您只需向函数中添加一个else,并使按钮可见。当然,如果您使用类,您可以轻松定义css淡入效果


沙箱

var a=1; 功能对话(){ var message=“这条消息(希望)是JS视频游戏滚动的一个成功实现!

非常酷,是吗?信不信由你,这整个页面是对一个使用HTML/JavaScript的非常基本的交互故事的测试!

让我们看看是否可以添加一些淡入按钮,好吗?

(顺便说一句,您可以单击此窗口中的任意位置,立即清除后续的文本滚动。);
如果(a达到所需长度时,您可以显示该按钮(代码中已存在相反的条件)

也许还可以改进一些事情:

  • 避免将字符串作为第一个参数传递给
    setTimeout
    :最好是传递函数

  • 避免在每次调用
    对话时指定单击处理程序;只需定义一次

  • 尽可能避免从函数内部修改全局变量

  • 使用HTML剪裁字符串可能会使HTML无效,例如当您将其剪裁为

    一半时。的确,浏览器可以处理未关闭的标记,但对于
    之类的实体,问题会更大。最好使用纯文本(包括换行符)并将其指定给
    textContent
    属性(或
    text
    jQuery函数),同时使用
    white space
    CSS属性来确保换行符是这样呈现的。可以使用反勾号(ES6)来定义字符串,因此您只需使用enter键即可对换行符进行输入

我也会在这里使用
setInterval
而不是
setTimeout
,但这只是个人偏好:

var message=`此消息(希望)是JS视频游戏滚动的成功实现!
很酷吧?嗯,信不信由你,这整个页面是对一个使用HTML/JavaScript的非常基本的交互故事的测试!
让我们看看是否可以添加一些淡入按钮,好吗?
(顺便说一句,您可以单击此窗口中的任意位置,立即清除后续的文本滚动。);
var定时器=设定间隔(对话,20);
函数对话框(add=1){//默认情况下,1个字符可见
var len=$(“#pid”).text().length+add;//获取所需的长度
$(“#pid”).text(message.substr(0,len));//进行更改
if(len
#pid{空白:预包装}


哦,这里有一个!单击以查看它的功能!
由于某种原因,脚本中的任何内容都不会影响我文档中的按钮,因此它在文本滚动的整个过程中都保持在页面上。代码在代码段中完美地工作,因此我想知道什么可以使它停止工作。我是否绝对需要#?确保代码包含在en中body标记的d或将代码包装在
$(function(){……})