Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Автоматическая смена картинок через заданное время (https://javascript.ru/forum/dom-window/10822-avtomaticheskaya-smena-kartinok-cherez-zadannoe-vremya.html)

herotic 22.07.2010 17:22

Цитата:

Сообщение от Vulkan (Сообщение 64821)
Вы в переменные url1 и url2 свои данные подставили?:)

Да, вписал туда images/1.jpg и images/2.jpg

Vulkan 22.07.2010 17:28

Цитата:

Сообщение от herotic (Сообщение 64822)
Да, вписал туда images/1.jpg и images/2.jpg

Лучше попробуйте от корня, то есть /images/1.jpg и /images/2.jpg
И здесь не забудьте поправить div1 = document.getElementById('div1'), div2 = document.getElementById('div2')

herotic 22.07.2010 17:30

Цитата:

Сообщение от Vulkan (Сообщение 64823)
Лучше попробуйте от корня, то есть /images/1.jpg и /images/2.jpg

Все-равно не работает. Товарищи, мне так не удобно вас терзать и тиранить своим тупизмом, может кто-нибудь сможет реализовать и кинуть файлом или текстом?

herotic 22.07.2010 17:33

Цитата:

Сообщение от Vulkan (Сообщение 64823)
И здесь не забудьте поправить div1 = document.getElementById('div1'), div2 = document.getElementById('div2')

Я в предыдущем коде что-то вообще не наблюдаю, чтобы использовалось div2

Sweet 22.07.2010 18:07

herotic, очевидно, что яваскрипт вы не знаете вообще. Первый скрипт не менял style.background у div'а, как оно нужно вам. Он менял .src у первой картинки (<img>). Ну и чтобы поставить точку: вы знаете, что значит getElementById??? Если нет, то либо сделайте заказ в разделе работа, либо заведите фиктивную дружбу с программистом: пейте пиво, разговаривайте за жизнь, а через полгодика спроси у него, как это сделать. Он сделает, а ты скажи: "Не друг ты мне! Я использовал тебя в своих целях и добился своего! теперь иди на!..."

herotic 22.07.2010 18:15

Цитата:

Сообщение от Sweet (Сообщение 64832)
herotic, очевидно, что яваскрипт вы не знаете вообще. Первый скрипт не менял style.background у div'а, как оно нужно вам. Он менял .src у первой картинки (<img>). Ну и чтобы поставить точку: вы знаете, что значит getElementById??? Если нет, то либо сделайте заказ в разделе работа, либо заведите фиктивную дружбу с программистом: пейте пиво, разговаривайте за жизнь, а через полгодика спроси у него, как это сделать. Он сделает, а ты скажи: "Не друг ты мне! Я использовал тебя в своих целях и добился своего! теперь иди на!..."

Во-первых, первым способом, я мог реализовать свои потребности. Но теперь не могу, потому и пришел сюда за ПОМОЩЬЮ, а не за наставлениями с кем заводить дружу. Во-вторых, чтобы заюзать document.getElementById('div1') необходимо диву в котором нужно менять фоновое изображение задать id='div1', но скрипт, который вы написали не работает, а поэтому нечего тут кричать, что я полный ламер, а лучше б помогли нормально.

herotic 22.07.2010 18:51

Рабочий код, может кому-нибудь пригодиться:
<script>
	
var url1 = 'images/1.png', url2 = 'images/2.png'
	setInterval( function(){
	  document.getElementById('div').style.background = "url('"+url2+"')"
	  setTimeout( function(){
	   document.getElementById('div').style.background = "url('"+url1+"')"
	  }, 1000)
	}, 11000)

	</script>

Sweet 22.07.2010 22:28

Цитата:

Сообщение от herotic
не за наставлениями с кем заводить дружу

Чувак, это была шутка юмора вообще-то.
Цитата:

Сообщение от herotic
Рабочий код, может кому-нибудь пригодиться

Цитата:

Сообщение от herotic
но скрипт, который вы написали не работает, а поэтому нечего тут кричать, что я полный ламер, а лучше б помогли нормально.

Зато в итоге, ты тип сам написал рабочий код и заделился им со всеми желающими. Это почти положительный результат. Правда код ничем не отличается от того, что я предложил, но это мелочь;) Кстати, я бы убрал var url1 = 'images/1.png', url2 = 'images/2.png', все ровно они статические.
setInterval( function(){
  document.getElementById('div').style.background = "url('images/1.png')"
  setTimeout( function(){
    document.getElementById('div').style.background = "url('images/2.png')"
  }, 1000)
}, 11000)

herotic 23.07.2010 00:37

Sweet, в твоем коде я убрал переменную div1 из-за нее ругался браузер и почему-то не работал, хоть и должен был. И убрал переменную div2, потому как она вообще не нужно. После исправления начал работать хотя я сам и не понял почему. Спасибо за помощь :)

Kristobal Hunta 09.02.2013 19:33

Ув. форумчане, помогите пожалуйста найти ошибку. Код работает как надо, но при первой загрузке страницы первое изображение чуть подвисает, затем мигает последнее, затем цикл идёт нормально с плавными переходами и прочее. Если обновить страницу всё повторяется сначала. Помогите устранить ошибку с заминкой при первой загрузке.Сразу скажу, код не мой, пытался переделать найденный.С javascript знаком довольно посредственно.Заранее спасибо, вот код

<script type="text/javascript">// <![CDATA[
var image_count = 5;
var interval = 5000;
var time_out = 15;
var i = 0;
var timeout;
var opacity = 100;

function change_image() {
opacity--;
var j = i + 1;
var current_image = 'img_' + i;
if (i == image_count) j = 1;
var next_image = 'img_' + j;
document.getElementById(current_image).style.opaci ty=opacity/100;
document.getElementById(current_image).style.filte r='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>

и ХТМЛ
<div id="header" class="div">
<img src="2.jpg" id="img_1" style="position:absolute; " />
<img src="3.jpg" id="img_2" style="position:absolute;opacity: 0; filter: alpha(opacity=0); " />
<img src="4.jpg" id="img_3" style="position:absolute; " />
<img src="5.jpg" id="img_4" style="position:absolute;opacity: 0; filter: alpha(opacity=0); " />
<img src="1.jpg" id="img_5" style="position:absolute; " />
</div>


Часовой пояс GMT +3, время: 06:36.