Всем здравствуйте!
Нашел HTML c JS, скопировал JS в отдельный файл clock.js,
немного упростил, вставил в страницу, но:
1. Работает в IE6,NN6,NN9,Opera8,Opera9
2. Opera 6.01 не догружает последнюю картинку
(document.images.length = 7 , а не 8???)
3. Opera 7.11 загружает картинки с точками,
но document.images.length = 0 ??? и дальше не дышит!
Opera 7.11 после первого обращения к св-ву document.images.length,
уже почему-то не изменяет размерность массива images,
хотя 8 картинок отображены на странице ???!!!
Помогите, plz, что не так? (или это глюки оперы?)
Мой код -
http://magg48.site90.net/
Исходный HTML -
http://magg48.site90.net/clock.html
(Исходный HTML в Opera6 пашет, в Opera7 нет)
<!--
// создаю массив изображений
var digit = new Array()
digit[0] = new Image(16, 21)
digit[1] = new Image(16, 21)
digit[2] = new Image(16, 21)
digit[3] = new Image(16, 21)
digit[4] = new Image(16, 21)
digit[5] = new Image(16, 21)
digit[6] = new Image(16, 21)
digit[7] = new Image(16, 21)
digit[8] = new Image(16, 21)
digit[9] = new Image(16, 21)
digit[10] = new Image(9, 21) // colon
digit[11] = new Image(9, 21) // dark colon
digit[12] = new Image(9, 21) // point
// инициализирую цифры 0-9
for (var i = 0; i < 10; ++i) {
digit[i].src = getPath(location.href) + "dg" + i + ".gif"
}
// инициализирую оставшиеся
digit[10].src = getPath(location.href) + "dgc.gif"
digit[11].src = getPath(location.href) + "dgc1.gif"
digit[12].src = getPath(location.href) + "dgp.gif"
// запоминаю, сколько картинок уже загружено на страницу
var pic = document.images.length
// занимаю место на сайте под часы картинками dgp.gif из массива
document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>")
document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>")
document.write("<IMG SRC=\"" + getPath(location.href) + "dgc.gif\" HEIGHT=21 WIDTH=9>")
document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>")
document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>")
document.write("<IMG SRC=\"" + getPath(location.href) + "dgc.gif\" HEIGHT=21 WIDTH=9>")
document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>")
document.write("<IMG SRC=\"" + getPath(location.href) + "dgp.gif\" HEIGHT=21 WIDTH=16>")
// прверяю, сколько теперь картинок загружено на страницу
alert("Загружено картинок : " + document.images.length)
setClock()
function setClock() {
var now = new Date()
var hour = now.getHours()
var minute = now.getMinutes()
var sec = now.getSeconds()
if (hour < 10) hour = "0" + hour
else hour += ""
if (minute < 10) minute = "0" + minute
else minute += ""
if (sec < 10) sec = "0" + sec
else sec += ""
// замена картинок на соответствующие показаниям часов
document.images[pic+0].src = digit[hour.charAt(0)].src
document.images[pic+1].src = digit[hour.charAt(1)].src
document.images[pic+2].src = digit[10].src
document.images[pic+3].src = digit[minute.charAt(0)].src
document.images[pic+4].src = digit[minute.charAt(1)].src
document.images[pic+5].src = digit[10].src
document.images[pic+6].src = digit[sec.charAt(0)].src
document.images[pic+7].src = digit[sec.charAt(1)].src
setTimeout("setClock()",1000)
}
function getPath(url) {
lastSlash = url.lastIndexOf("/")
return url.substring(0, lastSlash + 1)}
// -->