【问题标题】:How to make a popup script with pure JS? [closed]如何用纯 JS 制作弹窗脚本? [关闭]
【发布时间】:2016-12-13 15:33:00
【问题描述】:

我需要用纯 JS 编写一个脚本,以便在页面加载时显示一个弹出窗口。
背景需要褪色,我必须将自己的内容添加到弹出窗口中。 我不想使用 CSS 或 HTML。
将 CSS 和 HTML 放入 Javascript 代码中。 有人可以帮我解决这个问题吗?
我可以自己做造型。
我只能使用外部 CSS 和 HTML 制作弹出窗口,而不是纯 JS。 它只能是一个用纯 JS 编写的简单弹出窗口,并在页面加载时弹出。

请帮帮我!!

我更喜欢使用 JSFiddle。

【问题讨论】:

  • 我不知道怎么做,这就是我问的原因:(
  • 到目前为止,您的努力在哪里?您应该将导致问题的代码放在问题中,描述其意图以及什么不起作用。如果您遇到错误,请也包含这些错误
  • 这不起作用jsfiddle.net/cn49qdpr
  • 你的意图有点不清楚。当您说您不想使用 CSS 或 HTML 时,这是否包括由 JavaScript 生成的任何样式/标记?如果是这样,那么您打算如何显示内容?如果不是,那么您只是在问如何使用 JavaScript 创建元素并将它们添加到页面中?
  • 是的,只有 Javascript 生成的样式/标记

标签: javascript css popup


【解决方案1】:

更新答案:

您可以简单地使用 css 的 display 样式属性和使用 css 隐藏/显示按钮的 onClick popup 样式。

更新

  • 在 DOM 中添加弹出占位符元素

  • 为弹出窗口添加 css - 请参阅答案中提供的 css

  • 使用 JS 的 innerHTML 属性添加弹出 DOM 和显示/隐藏弹出窗口所需的 JS

类似下面的东西 -

document.body.onload = addElement;

function addElement () { 
  // create a new div element 
  // and give it popup content 
  var newDiv = document.createElement("div"); 
  newDiv.innerHTML +='<button class="open_button" onClick="openPopup()">Open Popup</button><div id="popup" style="  position: absolute;width: 300px;z-index: 999;display: none;top:0;background-color: #fff;  border: 1px solid #ddd;  border-radius: 5px;  box-shadow: 0 2px 8px #aaa;  overflow: hidden;   padding: 10px;"><div class="popup_body" style="  height: 100px;">This is sample popuup</div><button class="close_button"onClick="closePopup()">close</button</div>';   

  // add the newly created element and its content into the DOM 
  var currentDiv = document.getElementById("main_container"); 
  document.body.insertBefore(newDiv, currentDiv); 

  // open popup onload
  openPopup();
}

function openPopup() {
  var el = document.getElementById('popup');
  el.style.display = 'block';
  
  // Updates: set window background color black
  document.body.style.background = '#353333';
}

function closePopup() {
  var el = document.getElementById('popup');
  el.style.display = 'none';
  document.body.style.background = 'white';
}

希望这对您有所帮助(y)。

【讨论】:

  • 我可以把这个脚本加入我的网站吗?
  • 当然可以:)
  • 我明白了,它只有在我将其包含在页面底部时才有效。
  • 弹出窗口出现时如何给页面添加黑色背景>
  • @JelleBotman 您可以执行类似document.body.style.background = 'black';document.body.style.background = '#353333'; 的操作,请参阅更新的代码。
猜你喜欢
  • 1970-01-01
  • 2016-04-21
  • 2013-10-05
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多