Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Форум для новичков » Ротатор времени суток (отладка)


Ротатор времени суток (отладка)

Сообщений 1 страница 8 из 8

1

Здравствуйте!

Вобщем, нашла на форуме скрипт Deff`a "Ротатор игрового времени суток (смены Дня и Ночи)"

    <style>#todayRotator p{display:none}</style>
    <div id="todayRotator" style="width:400px;"><!-- Ротатор произвольного контента -->
   
<p><img src="https://forumstatic.ru/files/0014/b8/7f/41009.png"></p><!-- ночь -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/55856.png"></p><!-- утро -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/95344.png"></p><!-- день -->           
<p><img src="https://forumstatic.ru/files/0014/b8/7f/48020.png"></p><!-- вечер -->
    </div>

    <script type="text/javascript">
    var today = new Date().getTime();
    a=Math.floor(today/
(1000*60*60*24));
    var Nrout=$("#todayRotator p").length;
    a=a-Math.floor(a/Nrout)*Nrout;
    a=Math.floor(Nrout*(a)/Nrout)
    RotatorMycontent(a);
    function RotatorMycontent(i) {
    $("#todayRotator p").hide();
    $("#todayRotator p").eq(i).show();
    }
    </script>

В принципе при смене дня и ночи - можно делить на сколько отрезков удобно(сейчас их четыре- утро - день- вечер - ночь)
сколько тегов <p> на столько день и делицо;
- одно <p>N-й Контент</p> -длится сутки

    Игровые сутки = [Колво <p>N-й Контент</p> ] х [на одни сутки в реале]

Проверить можно меняя дату на компе

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

В связи с этим возникли вопросы:

1) За какой тип времени отвечает каждая из этих цифр?

2) В комментах к скрипту написано, что одно <p> - </p> длится сутки. А как же сделать, чтобы картинки "утро", "день", "вечер" и "ночь" совпадали с соответствующим временем суток в реальности, т.е. с 06.00-11.59, 12.00-17.59, с 18.00-23.59, с 00.00 до 05.59?

3) И само-главно: от какого момента этот скрипт начинает отсчитывать заданные часы и минуты? Его типа в полночь чтоль включать нужно для корректной работы или он синхронизируется с инетом может?

Буду очень благодарна, если кто-т сумеет объяснить.
Спасибо за внимание. 8-)

Отредактировано Aurellia (Пн, 19 Янв 2015 01:50:22)

0

2

Aurellia написал(а):

2) В комментах к скрипту написано, что одно <p> - </p> длится сутки. А как же сделать, чтобы картинки "утро", "день", "вечер" и "ночь" совпадали с соответствующими временными промежутками в реальности, т.е. с 06.00-11.59, 12.00-17.59, с 18.00-23.59, с 00.00 до 05.59?

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

<style>#todayRotator p{display:none}</style>
    <div id="todayRotator" style="width:400px;"><!-- Ротатор произвольного контента -->
   
<p><img src="https://forumstatic.ru/files/0014/b8/7f/41009.png"></p><!-- ночь -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/55856.png"></p><!-- утро -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/95344.png"></p><!-- день -->           
<p><img src="https://forumstatic.ru/files/0014/b8/7f/48020.png"></p><!-- вечер -->
    </div>

   <script type="text/javascript">
   var today = new Date().getTime();
    a=Math.floor(today/(1000*60*60*6));
    var Nrout=$("#todayRotator p").length;
    a=a-Math.floor(a/Nrout)*Nrout;
    a=Math.floor(Nrout*(a)/Nrout)
    RotatorMycontent(a);
    function RotatorMycontent(i) {
    $("#todayRotator p").hide();
    $("#todayRotator p").eq(i).show();
    }
    </script>

0

3

При таком раскладе:
с 21.01- 03.00 - ночь,
с 03.01 по 9.00 - день,
с 09.01 по 15.00- утро,
15.01 по 21.00 - вечер

щас затестю -3

Отредактировано Aurellia (Пн, 19 Янв 2015 02:23:58)

0

4

Aurellia
Поправил, но по - ходу зависит от часового пояса, ибо по МСК было верно с добавкой -3

0

5

а у меня почем- т не хочет. тоже московским временем тестю.

маГнетизьм!

Буду тестить с такими вариантами) Спс)

Отредактировано Aurellia (Пн, 19 Янв 2015 02:30:17)

0

6

Вот чего вышло в итоге. Канеш, нубовариант, зато работает. Мало ли кому пригодится.

<!-- РОТАТОР ВРЕМЕНИ СУТОК-->
<style>#todayRotator p{display:none}</style>
    <div id="todayRotator" style="width: 2000px; margin-left: 75px;">

<p><img src="https://forumstatic.ru/files/0014/b8/7f/41009.png"></p><!-- ночь -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/41009.png"></p><!-- ночь -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/41009.png"></p><!-- ночь -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/55856.png"></p><!-- утро -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/55856.png"></p><!-- утро -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/55856.png"></p><!-- утро -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/55856.png"></p><!-- утро --> 
<p><img src="https://forumstatic.ru/files/0014/b8/7f/55856.png"></p><!-- утро -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/55856.png"></p><!-- утро -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/95344.png"></p><!-- день -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/95344.png"></p><!-- день -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/95344.png"></p><!-- день -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/95344.png"></p><!-- день -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/95344.png"></p><!-- день -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/95344.png"></p><!-- день -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/48020.png"></p><!-- вечер -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/48020.png"></p><!-- вечер -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/48020.png"></p><!-- вечер -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/48020.png"></p><!-- вечер -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/48020.png"></p><!-- вечер -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/48020.png"></p><!-- вечер -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/41009.png"></p><!-- ночь -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/41009.png"></p><!-- ночь -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/41009.png"></p><!-- ночь -->
    </div>

   <script type="text/javascript">
   var today = new Date().getTime();
    a=Math.floor(today/(1000*60*60*
1));
    var Nrout=$("#todayRotator p").length;
    a=a-Math.floor(a/Nrout)*Nrout;
    a=Math.floor(Nrout*(a)/Nrout)
    RotatorMycontent(a);
    function RotatorMycontent(i) {
    $("#todayRotator p").hide();
    $("#todayRotator p").eq(i).show();
    }

    </script>

Если расшифовать (мало ли кто еще будет делать), то нужно уменьшить время работы одной строчки до 1 часа  красненьким помечено где менять, и увеличить число строчек с картинками. Таким образом, каждый час включается новая строка. Например, в течении вечера сменяется 6 строк с одинаковым "вечерним" рисунком, но они все одинаковые, поэтому эта цикличность создает видимость, что картинка одна и та же. Почему-то, если задать время даже в 3 часа, то работать перестает. Главное, вычислить с помощью изменения времени на компе, тот момент, когда скрипт включает самую первую строчку. У меня, например, это оказалось в 3 часа ночи по часам. Ну а дальше все просто уже.

Минус такой детализации, что много места занимает, а плюс - что можно точно просчитать как себя будет вести интересующий элемент в конкретное время.

Пасибо, DEff, что задал направление мысли)))

Как это выглядит можно затестить вот тут

Отредактировано Aurellia (Пн, 19 Янв 2015 05:08:24)

0

7

Aurellia
Наверно так:

<style>#todayRotator p{display:none}</style>
    <div id="todayRotator" style="width:400px;"><!-- Ротатор произвольного контента -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/41009.png" title="ночь"/></p><!-- ночь -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/55856.png" title="утро"/></p><!-- утро -->
<p><img src="https://forumstatic.ru/files/0014/b8/7f/95344.png" title="день"/></p><!-- день -->           
<p><img src="https://forumstatic.ru/files/0014/b8/7f/48020.png" title="вечер"/></p><!-- вечер -->
    </div>

   <script type="text/javascript">
   var today = new Date().getTime();
   var offset=(-new Date().getTimezoneOffset())/60;
   a=Math.floor(today/(1000*60*60*1)+offset)%24;
    var Nrout=$("#todayRotator p").length;
    a=Math.floor(a*Nrout/24);
    RotatorMycontent(a);
    function RotatorMycontent(i) {
    $("#todayRotator p").hide();
    $("#todayRotator p").eq(i).show();
    }
    </script>

0

8

Затестила. Рабочий  :)
Спасибо)

Отредактировано Aurellia (Вт, 20 Янв 2015 01:04:21)

0


Вы здесь » Единый форум поддержки » Форум для новичков » Ротатор времени суток (отладка)