Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   Рандомные всплывающие окна при заходе на сайт (https://javascript.ru/forum/job/56579-randomnye-vsplyvayushhie-okna-pri-zakhode-na-sajjt.html)

ksa 24.06.2015 08:22

Цитата:

Сообщение от MrNix21
200 руб. на телефон, Qiwi-кошелек или Webmoney. ksa, возьметесь за работу?

Я не голоден... :D

MrNix21 24.06.2015 14:14

Нашел вот такой код, он работает. Осталось только рандомность для времени между показами и для самих записей добавить. Подскажете как?
$(document).ready(function(){

var i = 0;
function moddiv(){
i=1;
$('.moddiv:nth-child('+i+')').fadeIn(500).delay(7000).fadeOut(500);//В этой строчке в мс 500 - время анимации появления, 5000 - время задержки, 500 - время затухания уведомления соответсвенно
}
setTimeout(function(){
setInterval(
function(){
i=i+1;
if(i>10) i=1;//10 - количество уведомлений
$('.moddiv:nth-child('+i+')').fadeIn(500).delay(7000).fadeOut(500);//В этой строчке в мс 500 - время анимации появления, 5000 - время задержки, 500 - время затухания уведомления соответсвенно
},25000);//25000 - задержка в мс меду показами уведомлений
moddiv();
},10000);//10000 - задержка в мс перед показом первого уведомления
});

ksa 24.06.2015 14:26

Цитата:

Сообщение от MrNix21
Осталось только рандомность для времени между показами и для самих записей добавить. Подскажете как?

Везде, где определяется значение переменной i, применяй
http://javascript.ru/Math.random

MrNix21 24.06.2015 14:38

ksa, благодарю. Использовал вот такую конструкцию, но не работает((((
$(document).ready(function(){

var i = 0;
function moddiv(){
i=Math.floor( Math.random() * (99 - 1 + 1) ) + 1;
$('.moddiv:nth-child('+i+')').fadeIn(500).delay(7000).fadeOut(500);//В этой строчке в мс 500 - время анимации появления, 5000 - время задержки, 500 - время затухания уведомления соответсвенно
}
setTimeout(function(){
setInterval(
function(){
i=i+1;
if(i>100) i=1;//100 - количество уведомлений
$('.moddiv:nth-child('+i+')').fadeIn(500).delay(7000).fadeOut(500);//В этой строчке в мс 500 - время анимации появления, 5000 - время задержки, 500 - время затухания уведомления соответсвенно
},Math.floor( Math.random() * (40000 - 20000 + 1) ) + 20000);//25000 - задержка в мс меду показами уведомлений
moddiv();
},Math.floor( Math.random() * (20000 - 10000 + 1) ) + 10000);//10000 - задержка в мс перед показом первого уведомления
});

ksa 24.06.2015 15:22

Цитата:

Сообщение от MrNix21
не работает

Ты не везде заменил
i=<значение>;

:D
Цитата:

Сообщение от MrNix21
i=i+1;


ksa 24.06.2015 15:23

Цитата:

Сообщение от MrNix21
if(i>100) i=1;//100 - количество уведомлений

Это вообще убрать...

ksa 24.06.2015 15:25

Цитата:

Сообщение от MrNix21
setTimeout(function(){
   setInterval(function(){
   });
});

Эта конструкция меня вообще удивила... :)

MrNix21 24.06.2015 17:15

ksa, что поделаешь, такой уж я чайник :D Нашел то что работает, но не могу доделать под свои задачи


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