javascript - 定位警报框

标签 javascript html css

我有一个自定义警报框,单击表中的行时会显示该框。当我有多行时,我向下滚动并单击一行。警报框仅显示在顶部。

var d = document;
	 var c_obj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
	 c_obj.id = "contain";
	 c_obj.style.height = d.documentElement.scrollHeight + "px";
	 var alertObj = c_obj.appendChild(d.createElement("div"));
	  alertObj.id = "alert";
	  if (d.all && !window.opera)
	  alertObj.style.top = document.documentElement.scrollTop + "px";
	  alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth) / 2 + "px";
	  alertObj.style.visiblity = "visible";
	 var h3 = alertObj.appendChild(d.createElement("h3"));
	  h3.appendChild(d.createTextNode(name));
	 var msg = alertObj.appendChild(d.createElement("p"));
	  msg.innerHTML = "Links : " +Links+'<br>';
	  var btn = alertObj.appendChild(d.createElement("a"));
	  btn.id = "close";
	  btn.appendChild(d.createTextNode('ok'));
	  btn.focus();
	  btn.onclick = function() {
	  c_obj.parentNode.removeChild(c_obj);
	  };
	  alertObj.style.display = "block";
	  
#contain{position:absolute;top:0;}
#alert{background:#CCE6FF;padding:10px;width:600px;height:250px;margin:300px;border-radius:15px;border:1px solid #a1a1a1;overflow-y: auto;}
#close{padding:5px; background:blue;color:white;border-radius:5px;cursor: pointer;}

如何使用 CSS 和 JS 在页面中央显示警告框,无论点击哪一行

最佳答案

在 css 中,您可以使用 #alert 类来执行此操作:

#alert{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  margin:0;
  width:600px;
  height:250px;
  border:1px solid #a1a1a1;
  margin:auto;
  overflow-y:auto;
}

添加position:absolute,给出topleftrightbottom > 值为 0 并赋予边距 0 以及 widthheight 意味着它将位于中心屏幕的。

同时删除 containposition:absolutetop:0;

JSFiddle

var d = document;
	 var c_obj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
	 c_obj.id = "contain";
	 c_obj.style.height = d.documentElement.scrollHeight + "px";
	 var alertObj = c_obj.appendChild(d.createElement("div"));
	  alertObj.id = "alert";
	  if (d.all && !window.opera)
	  alertObj.style.top = document.documentElement.scrollTop + "px";
	  alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth) / 2 + "px";
	  alertObj.style.visiblity = "visible";
	 var h3 = alertObj.appendChild(d.createElement("h3"));
	  h3.appendChild(d.createTextNode(name));
	 var msg = alertObj.appendChild(d.createElement("p"));
	  msg.innerHTML = "Links : " +Links+'<br>';
	  var btn = alertObj.appendChild(d.createElement("a"));
	  btn.id = "close";
	  btn.appendChild(d.createTextNode('ok'));
	  btn.focus();
	  btn.onclick = function() {
	  c_obj.parentNode.removeChild(c_obj);
	  };
	  alertObj.style.display = "block";
#alert{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;width:600px;height:250px;background:#CCE6FF;border:1px solid #a1a1a1;margin:auto;overflow-y:auto;}
#close{padding:5px; background:blue;color:white;border-radius:5px;cursor: pointer;}

关于javascript - 定位警报框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29963069/

相关文章:

javascript - 使用 Kafka 主题后发送 HTTP 响应

javascript - 使用 javascript/jQuery 刷新特定 div 内容

HTML5 离线 list 停止缓存声明的页面

javascript - 如何检查1秒内是否触发了mousemove事件

javascript - mouseover 在 img 上,但 mouseout 在 div 上

javascript - 用页眉扩展边距

javascript - 如何在使用 JavaScript 输入后强制执行函数

javascript - 将数据添加到 Angular $http 缓存

javascript - `textarea` "word-wrap: break-word"不适用于 ZenDesk 反馈选项卡小部件的预填充文本

javascript - 使用javascript为网页中的所有图像添加属性