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

MilkeyWay

Постоялец
Регистрация
11 Июл 2011
Сообщения
142
Реакции
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 )...?
 
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") после того как контент загружен
 
Ramazan, Спасибо тебе большое! Все работает :)

$(this).addClass("active") после того как контент загружен
не представляю,как это реализовать,куда только не сувал этот кусок скрипта и в head,не работает,буду разбираться дальше,спасибо еще раз большое!
 
Код:
<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>

только скорее всего работать будет неправильно, если только страницы не выводятся все сразу
 
Назад
Сверху