делать сообщение всегда сверху

90
8

Я хочу сделать сообщение, которое будет всегда сверху, но прокручивая страницу с помощью 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

любая помощь. или любой новый код, пожалуйста

спросил(а) 2014-02-24T00:42:00+04:00 6 лет, 8 месяцев назад
1
Решение
70

Если я понимаю, чего вы хотите, я думаю, вы полностью передумали. Вы можете использовать CSS, чтобы ваше сообщение фиксировалось в верхней части страницы. просто добавьте позицию: исправлено. Как я заставляю заголовок оставаться в верхней части страницы на этом сайте: http://www.recipegraze.com

Поэтому используйте javascript, чтобы сообщение появлялось/исчезало, но используйте некоторый простой CSS, чтобы заставить его вставлять верхнюю часть страницы.

edit: вы также захотите увеличить z-индекс сообщения, чтобы убедиться, что он отображается поверх вашего другого контента, а не под ним.

ответил(а) 2014-02-24T00:58:00+04:00 6 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема