Тег marquee в отдельный файл
Можно ли вынести контейнер <marquee>....</marquee> в отдельный внешний файл? Для того, чтобы изменять текст бегущей строки только один раз, не переписывая 50 страниц.
Заранее спасибо.
Речь идет о чистом HTML с JS или о HTML + PHP? Если второй вариант, тогда можно спокойно. Если чистый HTML + JS, то можно сделать глобальный скрипт, который при загрузке страницы будет подставлять требуемый текст. Если коротко, отвечая на ваш вопрос, - да, можно.
Где можно найти пример скрипта?..
marquee.inc:
Код:
<marquee>Какой-то текст бегущей строки.</marquee>
Основной файл:
Код:
<html>
<head>
<title>Test</title>
</head>
<body>
<!-- Какой-то текст -->
<?php include('marquee.inc'); ?>
<!-- Еще какой-то текст -->
</body>
</html>
<head>
<title>Test</title>
</head>
<body>
<!-- Какой-то текст -->
<?php include('marquee.inc'); ?>
<!-- Еще какой-то текст -->
</body>
</html>
Вариант №2. HTML + JS.
marquee.js:
Код:
function setMarqueeText() {
document.getElementById('marquee_id').innerHTML = 'Какой-то текст бегущей строки.';
}
document.getElementById('marquee_id').innerHTML = 'Какой-то текст бегущей строки.';
}
Основной файл:
Код:
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="marquee.js"></script>
</head>
<body onload="java script:setMarqueeText();">
<!-- Какой-то текст -->
<marquee id="marquee_id"></marquee>
<!-- Еще какой-то текст -->
</body>
</html>
<head>
<title>Test</title>
<script type="text/javascript" src="marquee.js"></script>
</head>
<body onload="java script:setMarqueeText();">
<!-- Какой-то текст -->
<marquee id="marquee_id"></marquee>
<!-- Еще какой-то текст -->
</body>
</html>
Первый вариант требует наличия PHP на хостинге, второй - включенного JS в браузере клиента.
Но как задать стиль marquee?
До этого момента он был задан CSS. Можно ли совместить?
Код:
<marquee id="marquee_id" class="marquee_class"></marquee>
Атрибуты id и class прекрасно совмещаются.
Как указать, что кодировка utf-8?
Код:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Или я совсем тупой, или ччего-то непонимаю... Но текст из js отображается в виде ромбиков с вопросительными знаками...
Ну у вас и JS-, и HTML-файл должны быть сохранены в одной и той же кодировке, которую вы и указываете в тэге <meta ... />. Выложите сюда исходники.
Вот как-то так, только без хэдера...
[ATTACH]5226[/ATTACH]
Я вот так сделал...
Тоже вариант. Хотя лучше сохранять все в одной кодировке.
Спасибо за помощь :)
Так а что конкретно не получается? Как вы ее привязать пытаетесь?
/**MARQUEE*/
#marque {
width: 1000px; /*Ширина объекта*/
height: 14px; /*Высота объекта*/
padding: 5px 0px 6px 0px;
font-size: 16px;
font-family: "Courier New";
font-weight: bold;
color: #6CE1FF; /*Цвет шрифта бегущей строки*/
background-color: #000AAA; /*Задник бегущей строки*/
scrollamount=2;
}
Другие стили привязывались просто <div id="Название элемента". Здесь так не получается...
Код:
<div id="marquee"></div>
:) И везде подправьте соответственно.
Так неправильно :)
Код:
<marquee id="marquee"></marquee>
Есть задник
<head>
<script type="text/javascript" src="marquee.js"></script>
</head>
<body onload="java script:setMarqueeText();">
<marquee id="marquee"></marquee>
</body>
Есть текст
<head>
<script type="text/javascript" src="marquee.js"></script>
</head>
<body onload="java script:setMarqueeText();">
<marquee id="marquee_id"></marquee>
</body>
Может просто цвета одинаковые?.. Поэтому не видно скроллинг текста...
Хотя не должно быть...
Подождите, какой задник? Сбросьте еще раз все, что у вас сейчас есть.
Вот так вот... Под бегущей строкой подложка другого цвета, как и написано в CSS.[ATTACH]5227[/ATTACH]
В JS-файле замените marquee_id на marquee.
Мерси большле :)
Надеюсь, я не вынес Вам мозг?..
Нет. :)
Тоже приходится часто редактировать...