Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Запуск скрипта не через <body>


Автор: SergV 6.1.2009, 18:51
Привет!
Как запустить несколько разных ява скриптов, если один скрипт блокирует другие?
Ситуация такая, есть два скрипта, один запускается так
Код

document.write('<style type="text/css">.tabber{display:none;}<\/style>');

Другой так
Код

<body onLoad="banners(0)">

Второй блокирует работу первого. Если убрать из боди onLoad="banners(0)", то первый работает нормально. 

Я в ява скриптах ноль, пытался методом тыка, но нечего не выходит, а поиск тоже не чего не дал, так как даже незнаю как вопрос правильно сформулировать, а по тому что задавал, не чего не нашлось по вопросу.

Может кто подскажет, как прилепить второй скрипт без боди, чтобы он не блокировал другие. Сам скрипт состоит из двух функций.
Код

function banners(i) {
     i1 = 0;
     sek = 3000;
     var picturs;
     m = i;
     picturs = imgArray[i];
     document.images[i1].src = picturs;
     i = i + 1;
        if (i == imgArray.length) { 
              i = 0;
              }
    j = i;
    timerID = setTimeout("banners(j)",sek);
}

function hrefs() {
     var ssylka;
     ssylka = hreArray[m];
     hrefsWin = open(ssylka, "_blank");
}

Использую его так
Код

echo '<a href="#" onClick="hrefs()"><img border="0" src="'.$link.$banner_list[0].'"></a>';

Автор: bars80080 6.1.2009, 22:12
может лучше с первым разобраться? куда он это пишет? страница не стирается?


в крайнем случае можно перед </body> поставить вызов:

Код

<script>
banner(0);
</script>
</body>

Автор: SergV 7.1.2009, 10:57
Окей, немного подробнее.
Это шапка документа.
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link rel="stylesheet" type="text/css" href="/templates/css/style.css" />
<link rel="stylesheet" href="/templates/css/example.css" TYPE="text/css" MEDIA="screen" />
<script type="text/javascript" src="/js/tabber.js"></script>
<script type="text/javascript" src="/inc/banners/script.js"></script>
<script type="text/javascript">
/* Optional: Temporarily hide the "tabber" class so it does not "flash"
   on the page as plain HTML. After tabber runs, the class is changed
   to "tabberlive" and it will appear. */
document.write('<style type="text/css">.tabber{display:none;}<\/style>');
</script>
<title>Home</title>
</head>
 
<body onLoad="banners(0)">

код скрипта крутилки банеров в первом посте, скрипт закладок прикрепил. Оба скрипта нашёл на просторах интернет, по отдельности работают без проблем, вместе только крутилка банеров.

Цитата

может лучше с первым разобраться? куда он это пишет? страница не стирается?

Вызывается первый из head, как в приведённом коде. 
Вставляю его таким образом
Код

<div class="tabber" align="left">
 <div align="center" class="tabbertab">
  <h2>Заголовок1</h2>
  Текст1
 </div>
 <div class="tabbertab">
  <h2>Заголовок2</h2>
  Текст2
 </div>
</div>


Не чего на странице не стирается, просто код выше не выводится.

Цитата

в крайнем случае можно перед </body> поставить вызов:
Код

<script>
banner(0);
</script>
</body>


Я пробовал отдельно вызывать, таким образом, скрипт не работает.

Забыл добавить как баннеры выводятся.
Код

echo '<script language="JavaScript">  
<!--
var m;
imgArray = new Array ('.$banners.'); // список баннеров
hreArray = new Array ('.$link.'); // список ссылок на баннеры
//-->
</script>';
echo '<a href="#" onClick="hrefs()"><img border="0" src="'.$path_link.$banner_list[0][0].'"></a>';

Автор: SergV 9.1.2009, 14:59
Мда..., вопрос оказался сложнее чем думал, ответа не дождаться видно.  smile 
Чтож, придётся отказаться от этой крутилки баннера, возможно со временем найду другой скрипт. 
Спасибо за внимание.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)