Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript在网站上创建推送通知_Javascript_Html - Fatal编程技术网

使用JavaScript在网站上创建推送通知

使用JavaScript在网站上创建推送通知,javascript,html,Javascript,Html,提前感谢大家。 我真的不知道从哪里开始我的问题,我要找的合适的术语是什么,但你们肯定对新手有一些答案。 我正在尝试更好地使用js,我想创建一个简单的推送通知消息,它将在html标记中显示一些预先编写的文本。我已经通过一些操作css的函数实现了这一点,但不确定这是否是一个好方法 // get msg div var msg = document.getElementById('msg'); // get button var btn = document.getElementById('btn')

提前感谢大家。 我真的不知道从哪里开始我的问题,我要找的合适的术语是什么,但你们肯定对新手有一些答案。 我正在尝试更好地使用js,我想创建一个简单的推送通知消息,它将在html标记中显示一些预先编写的文本。我已经通过一些操作css的函数实现了这一点,但不确定这是否是一个好方法

// get msg div
var msg = document.getElementById('msg');
// get button
var btn = document.getElementById('btn');
// get test button
var closeBtn = document.getElementById('closeBtn');

// event lisnters - click btn to run msg
btn.addEventListener('click',runMsg);
// event lisnters - click btn to close msg
closeBtn.addEventListener('click',closeMsg);

// functions list
function runMsg(){
  msg.style.display = 'block'
}

function closeMsg(e){
  if(e.target === closeBtn){
    msg.style.display = 'none';

  }
}
1.方法一:有什么更好的方法?创建html标记和所有预先制作的css,并将其隐藏起来,然后使用js将其显示出来

2.方法二:当用户使用
createElemnt()
方法单击某个元素时,使用js创建所有html标记

**我只是好奇所有的插件是如何创建的,我猜他们已经准备好了标记,并且他们只是以某种方式将两者链接在一起


希望我是清楚的,为大家干杯

听起来你在寻找一个进步的web应用程序。开始你的旅程。

听起来你在寻找一个进步的web应用程序。开始您的旅程。

既然您已经标记了Jquery,而且如果您正在使用Jquery,那么您只需通过它就可以实现您正在做的事情

$("#btn").click(function(){ //Capture btn click
    $('#msg').css('display','block') // display msg
}); 

$("#closeBtn").click(function(){ // Capture closeBtn click
    $('#msg').css('display','none') // hide msg
}); 

因为您已经标记了Jquery,并且如果您正在使用Jquery,那么您可以通过它简单地实现您正在做的事情

$("#btn").click(function(){ //Capture btn click
    $('#msg').css('display','block') // display msg
}); 

$("#closeBtn").click(function(){ // Capture closeBtn click
    $('#msg').css('display','none') // hide msg
}); 

预先生成和隐藏的元素越多,页面速度就越慢。此外,即使您构建了包含所有潜在弹出窗口的整个页面,也不是所有用户都会使用/触发它们,因此这是一种浪费。这就是为什么web开发中的共识是只在需要时构建元素


在某些情况下,如果您以移动设备为目标,您可能希望提前准备所有资产,但您需要仔细阅读,并且可能需要阅读预先生成和隐藏的元素越多,页面速度就越慢。此外,即使您构建了包含所有潜在弹出窗口的整个页面,也不是所有用户都会使用/触发它们,因此这是一种浪费。这就是为什么web开发中的共识是只在需要时构建元素


在某些情况下,如果您的目标是移动设备,您可能希望提前准备好所有资产,但您需要仔细阅读,并且可能

您已经在此处标记了jquery,但我看不出您正在使用任何jquery方法?您可以在js中构建html,也可以使用预构建的html-这没有实际区别。选择可能基于您正在使用什么技术构建html(例如c#MVC部分视图),以及最重要的是,html将有多复杂。不要使用100个字符串来构建html,这是无法维护的。最简单的方法是预先构建html并使用一个简单的
.show()
。嘿,谢谢你的帮助,我已经尝试过在运行的word press站点中创建该功能/也许将来创建一个简单的插件进行实践。因此,您的意思是,在大多数情况下,元素已经处于位置,但隐藏,js只显示它?您在这里标记了jquery,但我看不出您正在使用任何jquery方法?您可以在js中构建html,也可以使用预构建的html-这没有真正的区别。选择可能基于您正在使用什么技术构建html(例如c#MVC部分视图),以及最重要的是,html将有多复杂。不要使用100个字符串来构建html,这是无法维护的。最简单的方法是预先构建html并使用一个简单的
.show()
。嘿,谢谢你的帮助,我已经尝试过在运行的word press站点中创建该功能/也许将来创建一个简单的插件进行实践。所以你的意思是,在大多数情况下,元素已经在位置上了,但是隐藏了,js只显示了它?也许我真的不确定,但我会检查你建议的干杯,谢谢你的帮助感谢:)也许我真的不确定,但我会检查你建议的干杯,谢谢你的帮助感谢:)嘿,谢谢兄弟,是的,那是我问自己的。所以基本上隐藏的元素占据了空间。因此,如果我只在用户单击时创建元素,这样更好吗?就像第二个问题提到的那样?另外,就我所知,所有的插件是如何实现这一点的?如果你查看Angular文档,你会注意到所有的代码都在那里,但只生成了你看到的(以及附加到它的所有内容)——一个称为注入的过程。其他一切都是在飞行中完成的——比如js客户端渲染的美妙之处:嘿,谢谢兄弟,是的,这是我问自己的。所以基本上隐藏的元素占据了空间。因此,如果我只在用户单击时创建元素,这样更好吗?就像第二个问题提到的那样?另外,就我所知,所有的插件是如何实现这一点的?如果你查看Angular文档,你会注意到所有的代码都在那里,但只生成了你看到的(以及附加到它的所有内容)——一个称为注入的过程。其他一切都是动态完成的,比如js客户端渲染的美妙之处:为什么要使用
.css(“display”,“block”)
而不是
.show()
.hide()
?是的,你可以使用它,我刚刚通过Jquery演示了如何操作css:)为什么要使用
.css(“display”,“block”)
而不是
.show()
.hide()
?是的,您可以使用它,我刚刚演示了如何通过Jquery操作css:)