Javascript 使信息始终位于顶部

Javascript 使信息始终位于顶部,javascript,html,css,Javascript,Html,Css,我想做一个消息,它将始终在顶部,但滚动页面使用java脚本。 我尝试了下面的代码,但是当我滚动它时,它仍然处于静态位置 var message = '<b><font color=000000 size=5>mona <a href="../link.htm">link to us</a>! </font></b>' //enter a color name or hex to be used as the

我想做一个消息,它将始终在顶部,但滚动页面使用java脚本。 我尝试了下面的代码,但是当我滚动它时,它仍然处于静态位置

var message = '<b><font color=000000 size=5>mona <a href="../link.htm">link to us</a>!          </font></b>'
//enter a color name or hex to be used as the background color of the message
var backgroundcolor = "#FFFF8A"

//enter 1 for always display, 2 for ONCE per browser session
var displaymode = 1

//Set duration message should appear on screen, in seconds (10000=10 sec, 0=perpetual)
var displayduration = 0

//enter 0 for non-flashing message, 1 for flashing
var flashmode = 1
//if above is set to flashing, enter the flash-to color below
var flashtocolor = "lightyellow"
var ie = document.all
var ieNOTopera = document.all && navigator.userAgent.indexOf("Opera") == -1
function regenerate() {
window.location.reload()
}

function regenerate2() {
if (document.layers)
    setTimeout("window.onresize=regenerate", 400)
}

var which = 0

function flash() {
if (which == 0) {
    if (document.layers)
        topmsg_obj.bgColor = flashtocolor
    else
        topmsg_obj.style.backgroundColor = flashtocolor
    which = 1
}
else {
    if (document.layers)
        topmsg_obj.bgColor = backgroundcolor
    else
        topmsg_obj.style.backgroundColor = backgroundcolor
    which = 0
}
}

if (ie || document.getElementById)
document.write('<div id="topmsg" style="position:absolute;visibility:hidden">' + message + '</div>')

var topmsg_obj = ie ? document.all.topmsg : document.getElementById ? document.getElementById("topmsg") : document.topmsg

function positionit() {
var dsocleft = ie ? document.body.scrollLeft : pageXOffset
var dsoctop = ie ? document.body.scrollTop : pageYOffset
var window_width = ieNOTopera ? document.body.clientWidth : window.innerWidth - 20
var window_height = ieNOTopera ? document.body.clientHeight : window.innerHeight

if (ie || document.getElementById) {
    topmsg_obj.style.left = parseInt(dsocleft) + window_width / 2 - topmsg_obj.offsetWidth / 2
    topmsg_obj.style.top = parseInt(dsoctop) + parseInt(window_height) - topmsg_obj.offsetHeight - 4
}
else if (document.layers) {
    topmsg_obj.left = dsocleft + window_width / 2 - topmsg_obj.document.width / 2
    topmsg_obj.top = dsoctop + window_height - topmsg_obj.document.height - 5
}
}

function setmessage() {
if (displaymode == 2 && (!display_msg_or_not()))
    return
if (document.layers) {
    topmsg_obj = new Layer(window.innerWidth)
    topmsg_obj.bgColor = backgroundcolor
    regenerate2()
    topmsg_obj.document.write(message)
    topmsg_obj.document.close()
    positionit()
    topmsg_obj.visibility = "show"
    if (displayduration != 0)
        setTimeout("topmsg_obj.visibility='hide'", displayduration)
}
else {
    positionit()
    topmsg_obj.style.backgroundColor = backgroundcolor
    topmsg_obj.style.visibility = "visible"
    if (displayduration != 0)
        setTimeout("topmsg_obj.style.visibility='hidden'", displayduration)
}
setInterval("positionit()", 100)
if (flashmode == 1)
    setInterval("flash()", 1000)
}

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 display_msg_or_not() {
if (get_cookie("displaymsg") == "") {
    document.cookie = "displaymsg=yes"
    return true
}
else
    return false
}

if (document.layers || ie || document.getElementById)
window.onload = setmessage
var message='mona!'
//输入要用作消息背景色的颜色名称或十六进制
var backgroundcolor=“#FFFF8A”
//输入1表示始终显示,输入2表示每个浏览器会话一次
var displaymode=1
//设置持续时间消息应以秒为单位显示在屏幕上(10000=10秒,0=永久)
变量displayduration=0
//输入0表示非闪烁消息,输入1表示闪烁消息
var flashmode=1
//如果上面设置为闪烁,请在下面输入闪烁颜色
var flashtocolor=“浅黄色”
var ie=document.all
var ieNOTopera=document.all&&navigator.userAgent.indexOf(“Opera”)=-1
函数重新生成(){
window.location.reload()
}
函数2(){
if(document.layers)
setTimeout(“window.onresize=regenate”,400)
}
var=0
函数flash(){
if(which==0){
if(document.layers)
topmsg_obj.bgColor=flashtocolor
其他的
topmsg_obj.style.backgroundColor=flashtocolor
哪个=1
}
否则{
if(document.layers)
topmsg_obj.bgColor=背景色
其他的
topmsg_obj.style.backgroundColor=背景色
哪个=0
}
}
if(即| | document.getElementById)
文档。写入(“”+消息+“”)
var topmsg_obj=ie?document.all.topmsg:document.getElementById?document.getElementById(“topmsg”):document.topmsg
函数positionit(){
var dsocleft=ie?document.body.scrollLeft:pageXOffset
var dsoctop=ie?document.body.scrollTop:pageYOffset
var window_width=ieNOTopera?document.body.clientWidth:window.innerWidth-20
var window_height=ieNOTopera?document.body.clientHeight:window.innerHeight
if(即| | document.getElementById){
topmsg_obj.style.left=parseInt(dsocleft)+窗口宽度/2-topmsg_obj.offsetWidth/2
topmsg_obj.style.top=parseInt(dsoctop)+parseInt(窗口高度)-topmsg_obj.offsetHeight-4
}
else if(document.layers){
topmsg_obj.left=dsocleft+window_width/2-topmsg_obj.document.width/2
topmsg_obj.top=dsoctop+窗口高度-topmsg_obj.document.height-5
}
}
函数setmessage(){
如果(displaymode==2&&(!display_msg_或_not())
返回
if(document.layers){
topmsg_obj=新层(窗口内部宽度)
topmsg_obj.bgColor=背景色
第2(
topmsg_obj.document.write(消息)
topmsg_obj.document.close()
positionit()
topmsg_obj.visibility=“显示”
如果(显示持续时间!=0)
setTimeout(“topmsg_obj.visibility='hide',displayduration)
}
否则{
positionit()
topmsg_obj.style.backgroundColor=背景色
topmsg_obj.style.visibility=“可见”
如果(显示持续时间!=0)
setTimeout(“topmsg_obj.style.visibility='hidden'”,displayduration)
}
setInterval(“positionit()”,100)
如果(flashmode==1)
设置间隔(“flash()”,1000)
}
函数get_cookie(名称){
变量搜索=名称+“=”
var returnvalue=“”
如果(document.cookie.length>0){
偏移量=document.cookie.indexOf(搜索)
如果(偏移量!=-1){
偏移量+=搜索长度
end=document.cookie.indexOf(“;”,offset)
如果(结束==-1)
end=document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset,end))
}
}
返回值;
}
函数显示\u msg\u或\u not(){
如果(获取cookie(“displaymsg”)=“”){
document.cookie=“displaymsg=yes”
返回真值
}
其他的
返回错误
}
if(document.layers | | ie | | document.getElementById)
window.onload=setmessage

任何帮助。或者任何新的代码请

如果我理解你想要什么,我想你完全是想得太多了。您可以使用CSS将消息固定在页面顶部。只需添加位置:固定。这就是我如何使我的标题保持在此网站页面顶部的方法:

因此,使用javascript使消息显示/消失,但使用一些简单的CSS使其粘贴到页面顶部


编辑:您还需要增加邮件的z索引,以确保它显示在其他内容的顶部,而不是下方。

可能重复?如何将其设置在左侧中间???