Помогите с добавлением класса "active" по клику...

Тема в разделе "JavaScript", создана пользователем MilkeyWay, 22 янв 2012.

Модераторы: ZiX
  1. MilkeyWay

    MilkeyWay Постоялец

    Регистр.:
    11 июл 2011
    Сообщения:
    130
    Симпатии:
    10
    Доброй ночи!
    Друзья,посоветуйте,как быть,у меня уже мозги плавятся,в php и javascript я новичок,без вашей помощи не справиться.

    есть php файл,в нем джаваскрипт и пхп:

    Код:
    <script type="text/javascript">
    $(document).ready(function()
    {
     
     
    //Pagination Click
    $("#pagination li").click(function(){
    //Loading Data
    var pageNum = this.id;
    $(".content").load("/new.php?page=" + pageNum);
    return false;
    });
     
    });
    </script>
    далее идет пхп- подсчет записей в бд и выборка
    Код:
    ...$result = mysql_query($sql);
    $count = mysql_num_rows($result);
    $pages = ceil($count/$per_page);
     
    $page = $_GET['page'];
     
    $start = ($page-1)*$per_page;...
    затем следует пагинатор:

    Код:
    <ul id="pagination">
    <?php
            //Show page links
            for($i=1; $i<=$pages; $i++)
            {
                echo '<li id="'.$i.'">'.$i.'</li>';
            }?>
            </ul>
    хотел сделать,чтобы при клике по li был class="active",если в джаваскрипт выше добавить $(this).addClass("active") он не срабатывает,т.к файл вызывается заново и все обнуляется(или не из-за этого?)подскажите,что можно сделать в этой ситуации?у самого не полуется докумекать,возможно можно в этом цикле for, как-то добавить класс,что-то вроде if ( $page = $i )...?
     
  2. Ramazan

    Ramazan пыщ-пыщ

    Регистр.:
    28 янв 2007
    Сообщения:
    471
    Симпатии:
    98
    PHP:
    <ul id="pagination">
    <?php
     
        
    for($i=1$i<=$pages$i++)
        {
            echo 
    '<li id="'.$i.'"' . ($page == $i ' class="active"' '') . '>'.$i.'</li>';
        }
    ?>
    </ul>
    или

    $(this).addClass("active") после того как контент загружен
     
    MilkeyWay нравится это.
  3. MilkeyWay

    MilkeyWay Постоялец

    Регистр.:
    11 июл 2011
    Сообщения:
    130
    Симпатии:
    10
    Ramazan, Спасибо тебе большое! Все работает :)

    не представляю,как это реализовать,куда только не сувал этот кусок скрипта и в head,не работает,буду разбираться дальше,спасибо еще раз большое!
     
  4. Ramazan

    Ramazan пыщ-пыщ

    Регистр.:
    28 янв 2007
    Сообщения:
    471
    Симпатии:
    98
    Код:
    <script type="text/javascript">
    $(document).ready(function()
    {
    $("#pagination li").click(function(){
    var $this = $(this);
    $(".content").load("/new.php?page=" + $this.attr('id'), function() {
        $this.addClass('active');
    });
    return false;
    });
     
    });
    </script>
    только скорее всего работать будет неправильно, если только страницы не выводятся все сразу