javascript 浮动条未关闭 - 如何修复此 javascript 代码?

javascript floating bar not getting closed - how to fix this javascript code?

我需要一些帮助。下面是 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

一旦有人点击关闭按钮就会消失,但浮动栏仍然存在。我想使用那个关闭按钮关闭浮动栏,如果你知道如何做,请帮助我。 提前致谢。

我假设你想删除 <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 中移除。