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



 

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

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

Открыть тему
Тема закрыта
> Не могу заставить отображаться строчный блок по очереди на одном и том же месте с
brian_adams
brian_adams
Topic Starter сообщение 15.11.2016, 13:17; Ответить: brian_adams
Сообщение #1


Доброго времени суток
Я пытаюсь заставить отображаться на одном и том же месте строчный блок содержимое которго меняется с одинаковым интервалом времени поверх сменяющихся картинок.
Вото то что я навоял-"
<script type="text/javascript">
var image_count = 4;
var interval = 5000;
var time_out = 10;
var i = 0;
var s = 1;
var timeout;
var opacity = 100;


function change_image() {
opacity--;
var current_text = 'text_' + s;
var j = i + 1;
var current_image = 'image_' + i;
if (i == image_count) j = 1;
if (s == image_count) q = 1;
var next_image = 'image_' + j;
var usertext = document.getElementById(current_text).data-title;
document.getElementById(current_image).style.opacity=opacity/100; if (opacity==0.5) s = s + 1;if (s>image_count) s=1;
document.getElementById(current_image).style.filter='alpha(opacity='+opacity+')';
document.getElementById(next_image).style.opacity=(100-opacity)/100;
document.getElementById(next_image).style.filter='alpha(opacity='+(100-opacity)+')';
timeout = setTimeout("change_image()", time_out);
if (opacity==1) {
opacity = 100;
clearTimeout(timeout);
}
}

setInterval (function() {i++; if (i>image_count) i=1; change_image();}, interval);
-->
</script>
<style>
.onthetop {
display: inline-block;
position: relative;
}
.onthetop {
content: attr(data-title);
position: absolute;
left: 0px; top: 108px;
z-index: 1;
background: rgba(255,255,250,0.9);
font-size: 15 px;
padding: 3px 3px;
border: 0px solid #333;
}
</style>
HTM
<div class="onthetop" usertext id="text_1" data-title="какой-то там текст" >
<usertext id="text_2" data-title="еще какой-то" >
<usertext id="text_3" data-title= ="и еще" >
<usertext id="text_4" data-title= ="вообще другой" ></div>
" Я может не туда ушел не в ту степь, помогите пожалуйста я в 'этом не силен.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Degradator
Degradator
сообщение 15.11.2016, 14:23; Ответить: Degradator
Сообщение #2


Я бы сказал что все плохо.

Начнем с того, что если ты работаешь с HTML (ты ведь работаешь именно с ним, правда?), то создание собственных тегов типа
<usertext id="text_4" data-title= ="вообще другой" >

дело не благородное, и всеми осуждаемое. Не делай так.

(кстати почему здесь два знака "=" после data-title?)

каждый раз обращаться к DOM дереву для получения доступа к эдементу плохо, Хотя, ты обращаешься по ID, так что не думаю что это будет заметно, но в любом случае, это очень плохая практика, не делай так.

В стилях у тебя прописаны два одинаковых селектора, это тоже плохо, потому что в одном блоке данные могут перезатирать другие данные. Не делай так.

Все свойства твоего скрипта похоже что торчат наружу. Так тоже не делай, примерно 30 лет назад изобрели ООП, или, хотябы, оберни весь твой код в функцию.

Короче перепиши все так, чтобы не было очевидных ошибок, исправь мои замечания, потом будем смотреть что получилось.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
brian_adams
brian_adams
Topic Starter сообщение 15.11.2016, 15:52; Ответить: brian_adams
Сообщение #3


знака "=" я описался и скопировал ошибку ( спасибо я бы не обратил внимание)
"В стилях у тебя прописаны два одинаковых селектора" вы имели в виду
var usertext = document.getElementById(current_text).data-title;
content: attr(data-title);
если да то я просто хочу отобразить в конкретный промежутка времени конкретный текст под конкретным ID, тоесть содержимое data-title для переменной usertext будет равняться разным значением в зависимости от промежутка времени и должно быть отрадено через . <div class="onthetop" usertext id="text_1" data-title="какой-то там текст"........................
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
brian_adams
brian_adams
Topic Starter сообщение 15.11.2016, 18:08; Ответить: brian_adams
Сообщение #4


а если вы имели в виду
".onthetop {
display: inline-block;
position: relative;
}
.onthetop {
content: attr(data-title); "
тоя просто описывал разные свойства одного стиля ( да я его объеденил но на суть не повлияло- пока не выходит)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Degradator
Degradator
сообщение 16.11.2016, 11:15; Ответить: Degradator
Сообщение #5


Как насчет чего-то такого:
[JS]
var TextPanel = function(texts){
if(!Array.isArray(texts)) {
throw 'Invalid arguments exception, should be string array';
}
this.container = document.createElement('div');
this.texts = texts;
this.interval = null;
this.pointer = 0;
}

TextPanel.prototype.start = function() {
this.stop();
var me = this;
this.interval = setInterval(function(){
me.increment();
me.update();
}, 3000)
}
TextPanel.prototype.increment= function() {
this.pointer++;
if(this.pointer >= this.texts.length) {
this.pointer = 0;
}
}
TextPanel.prototype.update = function() {
var text = this.texts[this.pointer];
this.container.innerHTML = text;
}
TextPanel.prototype.stop = function(){
if(this.interval){
clearInterval(this.interval);
}
}

var textPanel = new TextPanel(['text1', 'text 2', 'text 3']);
textPanel.start();
document.body.appendChild(textPanel.container);[/JS]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
brian_adams
brian_adams
Topic Starter сообщение 16.11.2016, 11:54; Ответить: brian_adams
Сообщение #6


Попробую . Спасибо

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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) RedBox - все нужные инструменты в одном месте
0 fantomofdarkness 792 15.2.2023, 14:50
автор: fantomofdarkness
Открытая тема (нет новых ответов) Affshark - прямой рекламодатель и партнерская сеть в одном лице
0 Affshark 882 20.8.2020, 18:09
автор: Affshark
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыAdobe muse: Не могу разместить нужный мне код сразу после Body
0 Evg82 3832 20.6.2020, 10:24
автор: Evg82
Открытая тема (нет новых ответов) Как скрыть блок в приложении на Android
0 Вито_052 1092 15.12.2019, 12:37
автор: Вито_052
Открытая тема (нет новых ответов) Появляющийся блок
0 sergei_burg 2199 1.6.2019, 13:39
автор: -sergei1980-


 



RSS Текстовая версия Сейчас: 16.4.2024, 18:13
Дизайн