|
|
|
| Здравствуйте Уважаемое сообщество.
Ни подскажете почему идёт конфликт выполнения скрипта при загрузке звука.
Звук грузится на странице по участку этого кода
<object width="225" height="16">
<param name="movie" value="fon_music.wav" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<embed src="fon_music.wav"
quality="high"
bgcolor="#FFFFFF"
autostart="true"
width="225"
height="16"
align="center"
type="audio/mid"
pluginspage="http://www.macromedia.com/go /getflashplayer">
</embed>
</object>
|
Но при выполнении этого кода не работает скрипт который меняет картинки?
Можно ли это как то исправить? | |
|
|
|
|
|
|
|
для: pautina
(16.06.2011 в 19:43)
| | Ммм... а скрипт, который меняет картинки как выглядит? И в каком браузере дело происходит? | |
|
|
|
|
|
|
|
для: cheops
(16.06.2011 в 19:54)
| | Это касается браузера Opera
Скрипт меняющий картинки
<style>
#mTBL {visibility: hidden}
#mTBL img {width: 135px; height: 87px}
</style>
<script>
//Предзагрузка всех 13-ти картинок
for (var p = new Array (), j = m = 0; j < 3; j++) for (var k = 0; k < 4; k++)
{p [m] = new Image (); p [m++].src = 'img' + j + '' + k + '.jpg'}
p [m] = new Image (); p [m].src = 'img-ferst.jpg';
//Собственно скрипт смены картинок
var v = 2000, x, y = new Array (), z;
function F ()
{
x = document.getElementById ('mTBL');
y [0] = y [1] = y [2] = '0123';
for (var j = 0, w = x.getElementsByTagName ('IMG'); j < w.length; j++)
w [j].src = 'img-ferst.jpg';
x.style.visibility = 'visible';
z = window.setTimeout ('S ()', v);
}
function S ()
{
for (var q, j = 0; j < 3; j++)
{
q = y [j].charAt (parseInt (Math.random () * 12345) % y [j].length);
x.rows [j].cells [q].firstChild.src = 'img' + j + '' + q + '.jpg';
y [j] = y [j].replace (new RegExp (q, ''), '');
}
if (y [0].length) window.setTimeout ('S ()', v)
else window.setTimeout ('F ()', v);
}
onload = F;
</script>
<body>
<table id="mTBL" cellpadding="0" cellspacing="0">
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr>
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr>
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr>
</table>
</body>
|
Участок кода для загрузки звука
<object width="225" height="16">
<param name="movie" value="fon_music.wav" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<embed src="fon_music.wav"
quality="high"
bgcolor="#FFFFFF"
autostart="true"
width="225"
height="16"
align="center"
type="audio/mid"
pluginspage="http://www.macromedia.com/go /getflashplayer">
</embed>
</object>
|
Вместе они не работают, можно ли это исправить? | |
|
|
|
|
|
|
|
для: pautina
(17.06.2011 в 06:24)
| | Хм... у меня работают, правда без изображений (если честно, пока не вижу, как JS-код может нарушать работу <object>, если только он не захватывает весь канал для загрузки изображений). Какие изображения нужны для работы со скриптом? | |
|
|
|
|
|
|
|
для: cheops
(17.06.2011 в 10:20)
| | Изображения jpeg (img00.jpg,img01.jpg...img23.jpg) | |
|
|
|
|
автор: 0987654 (17.06.2011 в 13:59) |
|
|
для: pautina
(17.06.2011 в 13:51)
| | Попробуйте строку onload = F; из скриптового блока убрать и пропиcать <object width="225" height="16" onload="F ()"> | |
|
|
|
|
2.1 Мб |
|
|
для: 0987654
(17.06.2011 в 13:59)
| | Так в опере не работает.
Ни посмотрите архив, там всё файлы. | |
|
|
|
|
|
|
|
для: pautina
(17.06.2011 в 17:11)
| | Что-то у вас конфликтует при назначении цепочки обработчиков для onload, мне удалось запустить и фоновую музыку и JavaScript-ы под Opera после того, как я воспользовался конструкцией $(document).ready() библиотеки jQuery, которая берет на себя разруливание в различиях моделей событий. Вместо прямого манипулирования onload, использовалась следующая констркцию
$(document).ready(function (){
{
var CONTENT = document.getElementById('content').offsetHeight;
var LS = document.getElementById('sideLeft').offsetHeight;
if(CONTENT<LS) {
document.getElementById('content').style.height = LS+'px';
}
if(CONTENT>LS) {
document.getElementById('sideLeft').style.height = CONTENT+'px';
}
}
F();
});
| Тут следует еще учесть, что onload ждет загрузки всего, в том числе и файла фоновой музыки. Возможно в Opera глючит момент загрузки фоновой музыки, скорее всего она полагается на события плагина Abode, которые не всегда срабатывают, для Adobe и музыкальных файлов это вообще характерно - очень часто события глючат. В отличие от onload, метод ready() не ждет загрузки изображений и музыки - он только дожидается загрузки документа DOM. Если вам религия не запрещает использовать jQuery - это может быть выходом из ситуации. | |
|
|
|
|
|
|
|
для: cheops
(17.06.2011 в 18:41)
| | А можно сделать загрузку музыки скриптом?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Фоновая музыка панелью управления и случайным выбором композиции (с названием композиции)</title>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
song = new Array(6);
title = new Array(6);
song[0] ='sound/0.mid'
song[1] ='sound/1.mid'
song[2] ='sound/2.mid'
song[3] ='sound/3.mid'
song[4] ='sound/4.mid'
song[5] ='sound/5.mid'
song[6] ='sound/6.mid'
title[0] = 'ДДТ Что такое осень'
title[1] = 'Любе Комбат'
title[2] = 'Машина времени Костер'
title[3] = 'Машина времени Марионетки'
title[4] = 'ДДТ Что такое осень'
title[5] = 'ДДТ Ветер'
title[6] = "ДДТ Последняя осень"
index = Math.floor(Math.random() * song.length);document.write("<DL>\n");
document.write("<EMBED SRC="+song[index]+" width=300 height=28 autostart=true loop=infinite");
/*width=300 height=28 размиры панели управления*/
document.write(' TEXT="#FFFFFF">');
document.write("<font face=arial>");
document.write(" ");
document.write("<font face=arial color=red>");
document.write(title[index]);
document.write("</font>")
document.write("</DL>\n");
</SCRIPT>
</body>
</html>
|
Смотрите берём этот скрипт (коректируем его под 1 композицию)
После можно сохранить эту страницу fon_music.html и загружать уже с нащей страницы index.html (через onload в body).
Может так получится. Ни поможете реализовать? | |
|
|
|
|
|
|
|
для: pautina
(18.06.2011 в 06:37)
| | Извините, правильно Вы всё говорили по Jqery спасибо за помощь. | |
|
|
|