Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Повторяющаяся фотогалерея. (https://javascript.ru/forum/dom-window/12427-povtoryayushhayasya-fotogalereya.html)

lapwing 17.10.2010 10:33

Повторяющаяся фотогалерея.
 
Доброго времени суток всем! Увидел интересную фотогалерею http://dev.herr-schuessler.de/jquery/popeye/demo.html Решил применить у себя. Проблема заключается в том, что мне надо выводить эту галерею несколько раз на странице, т.е. к каждой записи свой блок фотографий. Я думаю(может и ошибаюсь) что проблема в обращении скрипта по id, который должен быть уникальным на странице, а поскольку у меня цикл из записей то id повторяется на странице, чего быть не должно. Как переделать? Помогите пожалуйста. Вот кусок кода.
Код:

<body>

<?php
include_once("../../connection.php");

$result = mysql_query('SELECT heading,message,tel,name,path1big,path1small,path2big,path2small
                                      FROM information WHERE operid = "s_kv" ORDER BY informid DESC
                                      LIMIT '.$start_pos.','.$perpage)
                or die('error Что то не выбирает');
while($row = mysql_fetch_array($result))
{
printf("

    <div class='example'>
        <h3>".$row['heading']."</h3>
        <div class='ppy' id='ppy2'>
            <ul class='ppy-imglist'>
                <li><a href='".$row['path1big']."'><img src='".$row['path1small']."' alt='' /></a></li>
                <li><a href='".$row['path2big']."'><img src='".$row['path2small']."' alt='' /></a></li>
               
            </ul>
            <div class='ppy-outer'>
                <div class='ppy-stage'>
                    <div class='ppy-counter'>
                        <strong class='ppy-current'></strong> / <strong class='ppy-total'></strong>
                    </div>
                </div>
                <div class='ppy-nav'>
                    <div class='nav-wrap'>
                        <a class='ppy-next' title='Следующая'>Следующая</a>
                        <a class='ppy-prev' title='Предыдущая'>Предыдущая</a>
                        <a class='ppy-switch-enlarge' title='Увеличить'>Увеличить</a>
                        <a class='ppy-switch-compact' title='Закрыть'>Закрыть</a>
                    </div>
                </div>
            </div>
        </div>
        <p>".$row['message']."<br /> </p>
        <p>".$row['name']." Тел.".$row['tel']."<br /> </p>

  </div>
<br />");
}
?>

<!-- [example js] begin -->
<script type="text/javascript">
    <!--//<![CDATA[
   
    $(document).ready(function () {
        var options2 = {
            caption:    false,
            navigation: 'permanent',
            direction:  'left'
        }
        var options3 = {
            caption:    'permanent',
            opacity:    1
        }
   
        $('#ppy1').popeye();
      $('#ppy2').popeye(options2);
        $('#ppy3').popeye(options3);
    });
   
    //]]>-->
</script>
<!-- [example js] end -->
</body>


monolithed 17.10.2010 13:47

1. Для форматирования PHP-кода используйте BB-code '['PHP][/PHP']' (без ковычек)
2. Чтобы установить данный модуль (как в прочем и любой другой) нужно во-первых назначить уникальный идентификатор родительскому элементу, а затем определить функцию:

1-й 
<div class="ppy" id="ppy1">
   <ul class="ppy-imglist">
      <li>...</li>
   </ul>
</div>

2-й
<div class="ppy" id="ppy2">
   <ul class="ppy-imglist">
      <li>...</li>
   </ul>
</div>

<script type="text/javascript">
   $('#ppy1').popeye();
   $('#ppy2').popeye();
</script>

lapwing 17.10.2010 15:53

Я понял, что так должен выглядеть код на странице. Вопрос в том, как это сделать в цикле?Т.е. чтобы с каждым проходом цикла id="ppy1" менялось на id="ppy2", затем на id="ppy3" и.т.д.
while  (){
<div class="ppy" id="ppy1">
	   <ul class="ppy-imglist">
	      <li>...</li>
	   </ul>
</div>
}


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