|
|
|
| Здравствуйте, уважаемые форумчане!
У меня такая проблема: нужно чтоб надпись мигала одновременно со стрелочкой. Можно было бы сделать одну анимированную картинку - и все. Но дело в том, что стрелка и надпись находятся в разных углах окна, и расстояние между ними соответственно будет увеличиваться при растягивании/сужении окна, поэтому делаю 2 картинки. Но они мигают не одновременно, а как им вздумается!
Скажите пожалуйста, эта задача вообще решаема? Можно ли два gif'а заставить вести себя синхронно? Если да - то как?
Извините, если такой вопрос уже был, но я ничего похожего не нашла.
Заранее спасибо :) | |
|
|
|
|
|
|
|
для: Nana
(06.10.2007 в 22:17)
| | а как вы это делаете? | |
|
|
|
|
|
|
|
для: bronenos
(07.10.2007 в 00:11)
| | Ну просто есть обычная таблица html, там 2 ячейки. В одной мигающая надпись, в другой (маленькой) - мигающая стрелка.
Может, вообще подход неправильный? | |
|
|
|
|
|
|
|
для: Nana
(07.10.2007 в 00:27)
| | Ложите в эти ячейки две картики (не GIF-анимацю), а с помощью JS скрываете/показываете их по интервалу. | |
|
|
|
|
|
|
|
для: sim5
(07.10.2007 в 03:51)
| | А скрывать картинку через свойство visibility? То есть написать функцию, которая при загрузке картинок будет скрывать/показывать их? Я просто в js ничего не понимаю...
И как установить интервал? | |
|
|
|
|
|
|
|
для: Nana
(08.10.2007 в 02:23)
| | object.style.visibility + setInterval | |
|
|
|
|
|
|
|
для: bronenos
(08.10.2007 в 06:01)
| | Одну картинку сукрыть удалось. А как к двум одновременно обратиться? Они же в разных ячейках. | |
|
|
|
|
|
|
|
для: Nana
(08.10.2007 в 17:28)
| | Так же как и к первой, вы функцией это делаете? | |
|
|
|
|
|
|
|
для: sim5
(08.10.2007 в 17:35)
| | Да, вот так:
<script language="JavaScript">
<!--//
function hide()
{
document.getElementById("pic1").style.visibility='hidden';
}
//-->
</SCRIPT>
<img src="..." id=pic1 onload=hide()>
|
Если я для второй так же пропишу, они же не одновременно будут скрываться, а как же тогда запустить одновременное мигание? | |
|
|
|
|
|
|
|
для: Nana
(08.10.2007 в 19:09)
| | Так у вас ничего мигать не будет, вы просто скрыли картинку и все. Можно так:
<head>
<script>
function hide() {
var p1 = document.getElementById("pic1").style;
var p2 = document.getElementById("pic2").style;
if (p1.visibility=='hidden') {
p1.visibility='visible';
p2.visibility='visible';
} else {
p1.visibility='hidden';
p2.visibility='hidden';
}
}
setInterval("hide()", 500);
</script>
</head>
<body onload="hide()">
<img src="name.gif" id="pic1" style="visibility: hidden;">
<img src="name.gif" id="pic2" style="visibility: hidden;">
</body>
|
В строке setInterval("hide()", 500); - число указывающее перид показа/скрытия изображения, подберите его приемлемым для вас. | |
|
|
|
|
|
|
|
для: sim5
(08.10.2007 в 19:49)
| | Спасибо! Все заработало. Появляются они не одновременно, но потом начинают синхронно мигать, так что все ок! | |
|
|
|
|
|
|
|
для: Nana
(08.10.2007 в 20:30)
| | Чтобы они одновременно появлялись, нужно их закешировать. Но ведь ваша страница грузится частями, и неодновременное их появление не "нервирует" сильно? :) | |
|
|
|
|
|
|
|
для: sim5
(08.10.2007 в 20:36)
| | Да нет, не нервирует, тем более что чтобы добраться до этих картинок, надо все равно страницу вниз прокрутить, пока пользователь это сделает - они уже начнут мигать одновременно. | |
|
|
|
|
|
|
|
для: Nana
(06.10.2007 в 22:17)
| | Можно загрузить эти картинки на предыдущей странице.
Они окажутся в кэше браузера, а чтоб не видно было указать ширину и длину в один пиксель.
Потом они мигом выскочат на вашу страницу и мигать уже станут синхронно. | |
|
|
|
|
|
|
|
для: Eugene77
(07.10.2007 в 23:00)
| | Закешировать можно и на текущей странице, а то что они будут мигать синхронно, это еще не факт. | |
|
|
|
|
|
|
|
для: Eugene77
(07.10.2007 в 23:00)
| | Попробовала: они все равно не одновременно выскакивают. | |
|
|
|
|
|
|
|
для: Nana
(08.10.2007 в 01:57)
| | Я бы делал так:
1) Не выводить эти картинки в html, а только зарезервировать для них место.
2) при window.onload делать прелоад этих картинок (что даст кеширование)
3) после загрузки обоих картинок, (но только когда загрузятся обе!) вывести их в заготовленные места, сгенерив html.
По идее, должно получиться синхронно... | |
|
|
|
|
|
|
|
для: Nana
(08.10.2007 в 01:57)
| | >Попробовала: они все равно не одновременно выскакивают.
Это значит, что по логике браузера они мигают ещё сидя в кэше.
Прискорбно.
Тогда как ни копируй их из кэша, хоть создавая код скриптом, хоть создавая html, хоть
не создавая , согласования по времени трудно ожидать.
Вот если бы создавать их заново из каких-нибудь данных,
которые по логике браузера свойствами каринки не обладают...
Да только я не знаю как это сделать. | |
|
|
|
|
|
|
|
для: Eugene77
(08.10.2007 в 20:02)
| | Да уж, анимация - это такое дело, я уже поняла - ведет себя как хочет. Поэтому сделала, как мне посоветовали sim5 и bronenos - через visibility.
Только вот есть такой феномен: на форумах рядом стоящие смайлики всегда двигаются синхронно, даже если их 10 подряд поставить))) Мистика какая-то)))) | |
|
|
|
|
|
|
|
для: Nana
(06.10.2007 в 22:17)
| | Всем огромное спасибо! Вы мне очень помогли! | |
|
|
|