javascript float 栏未关闭 - 如何修复此 javascript 代码?

标签 javascript jquery html css floating

我需要一些帮助。下面是 float 侧边栏的 JavaScript 代码,但我无法使其可关闭或关闭它。有人可以修复代码吗?

var persistclose = 0 //set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
var startX = 5 //set x offset of bar in pixels
var startY = 40 //set y offset of bar in pixels
var verticalpos = "fromtop" //enter "fromtop" or "frombottom"

function iecompattest() {
  return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body
}

function get_cookie(Name) {
  var search = Name + "="
  var returnvalue = "";
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    if (offset != -1) {
      offset += search.length
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      returnvalue = unescape(document.cookie.substring(offset, end))
    }
  }
  return returnvalue;
}

function closebar() {
  if (persistclose)
    document.cookie = "remainclosed=1"
  document.getElementById("topbar").style.visibility = "hidden"
}

function staticbar() {
  barheight = document.getElementById("topbar").offsetHeight
  var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
  var d = document;

  function ml(id) {
    var el = d.getElementById(id);
    if (!persistclose || persistclose && get_cookie("remainclosed") == "")
      el.style.visibility = "visible"
    if (d.layers) el.style = el;
    el.sP = function(x, y) {
      this.style.left = x + "px";
      this.style.top = y + "px";
    };
    el.x = startX;
    if (verticalpos == "fromtop")
      el.y = startY;
    else {
      el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
      el.y -= startY;
    }
    return el;
  }
  
  window.stayTopLeft = function() {
    if (verticalpos == "fromtop") {
      var pY = ns ? pageYOffset : iecompattest().scrollTop;
      ftlObj.y += (pY + startY - ftlObj.y) / 8;
    } else {
      var pY = ns ? pageYOffset + innerHeight - barheight : iecompattest().scrollTop + iecompattest().clientHeight - barheight;
      ftlObj.y += (pY - startY - ftlObj.y) / 8;
    }
    ftlObj.sP(ftlObj.x, ftlObj.y);
    setTimeout("stayTopLeft()", 10);
  }
  
  ftlObj = ml("topbar");
  stayTopLeft();
}

if (window.addEventListener)
  window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
  window.attachEvent("onload", staticbar)
else if (document.getElementById)
  window.onload = staticbar
    #topbar {
      position: absolute;
      border: 0px solid black;
      padding: 1px;
      width: 132px;
      height: 620px;
      visibility: hidden;
      z-index: 100;
    }
<div id="topbar">
  <a href="" onClick="closebar(); return false">
    <img src="http://recruitmentapplicationforms.in/wp-content/uploads/2016/01/close.gif" border="0" />
  </a>
  Advertisement
  <ad code goes here>
</div>

您也可以在我的网站上查看代码 recruitment

一旦有人点击关闭按钮,它就会消失,但 float 栏仍然存在。我想使用关闭按钮关闭 float 栏,如果您知道如何执行相同操作,请帮助我。 提前致谢。

最佳答案

我假设您想删除 <div id="topbar">...</div>

如果是这种情况,请调整:

function closebar() {
  if (persistclose)
    document.cookie = "remainclosed=1"
  document.getElementById("topbar").style.visibility = "hidden"
}

对此:

function closebar() {
  if (persistclose)
    document.cookie = "remainclosed=1"
  document.getElementById("topbar").remove()
}

您在那里的功能仅将可见性设置为隐藏。 remove()将从 DOM 中删除。

关于javascript float 栏未关闭 - 如何修复此 javascript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34692391/

相关文章:

javascript - 安排 Firebase 身份验证 :export to bucket using pubsub

javascript - 粘贴后是否有事件发生?

php - 如何获取动态添加的 html 按钮上的事件

javascript - 开始时的 JQuery 可拖动更改元素

javascript - 滚动 - 隐藏内容

javascript - 由于空闲超时插件,页面加载事件多次触发?

javascript - 在元素单击时将 css 样式添加到 2 个列表的元素

javascript - 启用平滑滚动时,返回顶部按钮会出现故障

javascript - 仅当用户单击提交 html 表单时,纯 javascript 中的进度图像加载器

javascript - 有没有办法从 cucmber 中的场景范围注入(inject) cucumber 步骤变量