Как я могу показать серию случайных изображений в текстовом виджете WordPress, используя HTML / Javascript? - PullRequest
0 голосов
/ 23 февраля 2011

Я использую WordPress 3.0.5 на Dreamhost, пытаюсь создать текстовый виджет на боковой панели, который будет отображать случайный набор из девяти (9) клиентских логотипов. Всего в папке / wp-content / clients находится 12 логотипов с именем logo1.jpg thru logo12.jpg.

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

UPDATE

Получилось, спасибо за советы всем!

Вот окончательная, рабочая версия:

<div id="client-logos"></div>

<script type="text/javascript">

TotalLogos = 12;    
FirstPart = '<img src="/wp-content/clients/logo';
LastPart = '.jpg" height="50" width="110" />';

var r = Math.ceil(Math.random() * TotalLogos);

var content = document.getElementById('client-logos').innerHTML;
document.getElementById('client-logos').innerHTML = FirstPart + r + LastPart;

var t=0;
for (t=0;t<8;t++)
   {
      if (r == TotalLogos) { r=0; }
      r++;
      var content = document.getElementById('client-logos').innerHTML;
      document.getElementById('client-logos').innerHTML = content + FirstPart + r + LastPart;
   }

</script>

Ответы [ 2 ]

0 голосов
/ 23 февраля 2011

Просто измените t=8 на t<8, и это работает (для меня).Второе выражение в цикле for означает: «Выполните цикл foor, пока это правда».Ваш код должен быть выполнен до тех пор, пока t < 8;когда t == 8, он должен остановиться.

Рабочий пример: http://jsfiddle.net/m7m7C/

0 голосов
/ 23 февраля 2011

document.write () запускается до завершения загрузки страницы. Вы должны использовать что-то еще ..

Прежде всего, вы должны получить объект вашего контейнера div по id:

Ваш HTML:

    <div id="containerid"></div>

<script>
var elem = document.getElementById('containerid');
elem.innerHTML= "FirstPart + r + LastPart";
</script>
...