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