Помощник
|
Подскажите, как можно сделать чтобы, несколько html кодов шли по очереди как анимация |
rumiks
|
Сообщение
#1
|
||
|
|
||
|
|||
PRStudio |
5.8.2012, 19:39;
Ответить: PRStudio
Сообщение
#2
|
|
Вы не уточнили где вы хотите менять: на странице (целиком) или внутри конкретного блока. Для страницы целиком:
[JS]var code = new Array(); var counter = 0; code[0] = 'code 1 here'; code[code.length - 1] = 'code 2 here'; code[code.length - 1] = 'code 3 here'; setInterval(function(){ if (counter <= code.length-1){ document.write(code[counter]); } counter++; },5000);[/JS] Для конкретного элемента с ID "blockId": [JS]var code = new Array(); var counter = 0; var element = document.getElementById('blockId').innerHTML; code[0] = 'code 1 here'; code[code.length - 1] = 'code 2 here'; code[code.length - 1] = 'code 3 here'; setInterval(function(){ if (counter <= code.length-1){ element = code[counter]; } counter++; },5000);[/JS] Работоспособность не проверял :hihi: |
|
|
rumiks
|
Сообщение
#3
|
|
Я пробовал, что-то не получается... может я что то не так делаю... Мне это скрипт надо в <div id="cup"> Я пробовал скрипт в его вставлять но текста вообще нет... Я пробовал и просто cup и cupId не выходит... в чем может быть проблема?
<script type="text/javascript"> var code = new Array(); var counter = 0; var element = document.getElementById('cupId').innerHTML; code[0] = 'code 1 here'; code[code.length - 1] = 'Код 1'; code[code.length - 1] = 'Код 2'; setInterval(function(){ if (counter <= code.length-1){ element = code[counter]; } counter++; },5000); </script> |
|
|
cyber_ua |
5.8.2012, 20:18;
Ответить: cyber_ua
Сообщение
#4
|
|
вам нужно анимировать появление хтмл или просто появление когда через интервал?
|
|
|
rumiks
|
Сообщение
#5
|
|
Мне нужно чтобы код уже был загружен, и просто менялся на другой к примеру 5 кодов идут через каждые 5 секунд и когда заканчивается последний код, начинается все с начала...
|
|
|
PRStudio |
5.8.2012, 20:41;
Ответить: PRStudio
Сообщение
#6
|
|
забыл, ведь структура DOM еще не прогрузилась, есть 3 выхода: 1-использовать window.onload, что я и сделаю, но при этом скрипт выполнится при полной загрузке страницы, 2-использовать document.readyState и 3-вставить скрипт после нужного элемента.
Немножко подкорректировал. Да, при занесении массива вы можете писать не code[code.length], а code[1], code[2] и т.д. Я записал так, чтобы не пропустить какой-нибудь индекс, т.к. counter привязывается к конкретному индексу массива. [JS]window.onload = function(){ var code = new Array(); var counter = 0; var element = document.getElementById('cupId'); code[0] = 'code 1 here'; code[code.length] = 'Код 1'; code[code.length] = 'Код 2'; setInterval(function(){ if (counter <= code.length-1){ element.innerHTML = code[counter]; counter++; } else { counter = 0; } },5000); }[/JS] |
|
|
cyber_ua |
5.8.2012, 20:57;
Ответить: cyber_ua
Сообщение
#7
|
|
может так
<!DOCTYPE HTML>
<html> <head> </head> <body> <div id='show'></div> <script> function show_html(options){ var i = 0 , children = []; var elem = document.getElementById(options.id); (function() { var html = options.html; var leng = html.length; for (var i = 0;i < leng; i++) { create_div(html[i]); } show(); }()); function create_div (html) { var div = document.createElement('div'); div.innerHTML = html; div.style.display = 'none'; children.push(div); elem.appendChild(div); } function show () { var hide, end; end = children.length - 1; if (i > end) i = 0; hide = i - 1 >= 0 ? i - 1 : end; console.log(hide); children[hide].style.display = 'none'; children[i].style.display = ''; i++; setTimeout(show, options.interval * 1000); } } var array = ['string1', 'string2', 'string3', 'bla bla bla']; show_html({ id: 'show',//id блока в нутри которого меняется хтмл html: array,// массив с хтмл токоторый меняется interval: 1//интервал в секундах в секундах }); </script> </body> </html> |
|
|
cyber_ua |
5.8.2012, 21:02;
Ответить: cyber_ua
Сообщение
#8
|
|
забыл, ведь структура DOM еще не прогрузилась, есть 3 выхода: 1-использовать window.onload, что я и сделаю, но при этом скрипт выполнится при полной загрузке страницы, 2-использовать document.readyState и 3-вставить скрипт после нужного элемента. Немножко подкорректировал. Да, при занесении массива вы можете писать не code[code.length], а code[1], code[2] и т.д. Я записал так, чтобы не пропустить какой-нибудь индекс, т.к. counter привязывается к конкретному индексу массива. [JS]window.onload = function(){ var code = new Array(); var counter = 0; var element = document.getElementById('cupId'); code[0] = 'code 1 here'; code[code.length] = 'Код 1'; code[code.length] = 'Код 2'; setInterval(function(){ if (counter <= code.length-1){ element.innerHTML = code[counter]; counter++; } else { counter = 0; } },5000); }[/JS] в место [JS] code[0] = 'code 1 here'; code[code.length] = 'Код 1'; code[code.length] = 'Код 2'; [/JS] лучше вот так [JS] code.push('code 1 here', 'Код 1', 'Код 2'); [/JS] |
|
|
cyber_ua |
5.8.2012, 21:03;
Ответить: cyber_ua
Сообщение
#9
|
|
PRStudio, и лучше не перезаписывать хтмл каждый раз так как в нем будут картинки , а при перезаписи они будут занового загружатся какк и другой контент
|
|
|
rumiks
|
Сообщение
#10
|
|
|
Всем спасибо за помощь! Большое спасибо, cyber_ua, скрипт работает!!!
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Как в пушсетках покупают по 100-200 тысяч кликов за день? | 2 | Boymaster | 705 | Вчера, 17:52 автор: Boymaster |
|
Как вы отдыхаете от работы за компом | 151 | adw-kupon.ru | 19883 | 23.4.2024, 13:52 автор: Vmir |
|
Как вы бросили работу и перешли на заработок с сайтов? | 20 | uahomka | 3481 | 23.4.2024, 11:54 автор: Skyworker |
|
Как вывести деньги в Украине с заблокированного Юмани ? | 30 | freeax | 5043 | 20.4.2024, 16:49 автор: Liudmila |
|
Арбитражники, как ведете учет расходов и доходов? | 13 | Boymaster | 2039 | 20.4.2024, 15:06 автор: Boymaster |
Текстовая версия | Сейчас: 25.4.2024, 20:16 |