X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Подскажите, как можно сделать чтобы, несколько html кодов шли по очереди как анимация
rumiks
rumiks
Topic Starter сообщение 5.8.2012, 19:06; Ответить: rumiks
Сообщение #1


Подскажите, как можно сделать чтобы, несколько html кодов шли по очереди как анимация, с интервалом примерно 5 сек?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
PRStudio
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
rumiks
Topic Starter сообщение 5.8.2012, 20:14; Ответить: 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
cyber_ua
сообщение 5.8.2012, 20:18; Ответить: cyber_ua
Сообщение #4


вам нужно анимировать появление хтмл или просто появление когда через интервал?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rumiks
rumiks
Topic Starter сообщение 5.8.2012, 20:22; Ответить: rumiks
Сообщение #5


Мне нужно чтобы код уже был загружен, и просто менялся на другой к примеру 5 кодов идут через каждые 5 секунд и когда заканчивается последний код, начинается все с начала...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
PRStudio
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
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
cyber_ua
сообщение 5.8.2012, 21:02; Ответить: cyber_ua
Сообщение #8


(PRStudio @ 5.8.2012, 23:41) *
забыл, ведь структура 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
cyber_ua
сообщение 5.8.2012, 21:03; Ответить: cyber_ua
Сообщение #9


PRStudio, и лучше не перезаписывать хтмл каждый раз так как в нем будут картинки , а при перезаписи они будут занового загружатся какк и другой контент
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rumiks
rumiks
Topic Starter сообщение 5.8.2012, 21:21; Ответить: rumiks
Сообщение #10


Всем спасибо за помощь! Большое спасибо, cyber_ua, скрипт работает!!!

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как в пушсетках покупают по 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


 



RSS Текстовая версия Сейчас: 25.4.2024, 20:16
Дизайн