Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   переключение страниц без перезагрузки (https://javascript.ru/forum/jquery/36107-pereklyuchenie-stranic-bez-perezagruzki.html)

VEGA 04.03.2013 16:12

Цитата:

Сообщение от skynet-mfd (Сообщение 238681)
по идее номер текущей страницы должен вычисляться в самом show.php и уже передаваться клиенту как факт, где гарантия что страница вообще должна переключиться

он там и вычисляется..
но а если юзер переключает страницу ? нажимает на ссылку "Следующая страница" ?

впинципе это ерунда.. с эти разберусь

мне главное понять как менять страницу без перезагрузки

skynet-mfd 04.03.2013 16:38

мм если я правильно понял попробуй так
добавь id для простоты, и сделай якорь а не параметр к php
<a id="next_page" href="#page=2">Следующая страница</a>
потом привяжи событие клика
$("#next_page").live("click",function({
     var num_page = $(this).attr('href').substr(7);
     show_messages(num_page);
}));


как то так :)

VEGA 07.03.2013 03:57

Цитата:

Сообщение от skynet-mfd (Сообщение 238692)
мм если я правильно понял попробуй так
добавь id для простоты, и сделай якорь а не параметр к php
<a id="next_page" href="#page=2">Следующая страница</a>
потом привяжи событие клика
$("#next_page").live("click",function({
     var num_page = $(this).attr('href').substr(7);
     show_messages(num_page);
}));


как то так :)

так вообще не работает.. можно пожалуйста пример ? чтобы я просто адаптировал под свой скрипт

VEGA 07.03.2013 13:52

нашел вот такую функцию

function jQuery_pager($rpp, $count, $href, $opts = array(),$jQuery) {
	$pages = ceil($count / $rpp);

	if (!isset($opts['lastpagedefault']))
		$pagedefault = 0;
	else {
		$pagedefault = floor(($count - 1) / $rpp);
		if ($pagedefault < 0)
			$pagedefault = 0;
	}

	if (isset($_GET['page'])) {
		$page = 0 + (int) $_GET['page'];
		if ($page < 0)
			$page = $pagedefault;
	}
	else
		$page = $pagedefault;

	$pager = "<td class=\"pager\">Страницы:</td><td class=\"pagebr\">&nbsp;</td>";
	$pager2 = "";
	$bregs = "";

	$mp = $pages - 1;
	$as = "<b>«</b>";
	if ($page >= 1) {
        $onClick_prew = 'onclick="SE_Pager(\''.(int)$_GET['id'].'\',\''.($page - 1).'\',\''.$jQuery.'\');return false;"';
		$pager .= "<td class=\"pager\">";
		$pager .= "<a ".$onClick_prew." style=\"text-decoration: none;cursor:pointer;\">$as</a>";
		$pager .= "</td><td class=\"pagebr\">&nbsp;</td>";
	}

	$as = "<b>»</b>";
	if ($page < $mp && $mp >= 0) {
		$onClick_next = 'onclick="SE_Pager(\''.(int)$_GET['id'].'\',\''.($page + 1).'\',\''.$jQuery.'\');return false;"';
		$pager2 .= "<td class=\"pager\">";
		$pager2 .= "<a ".$onClick_next." style=\"text-decoration: none;cursor:pointer;\">$as</a>";
		$pager2 .= "</td>$bregs";
	} else
		$pager2 .= $bregs;

	if ($count) {
		$pagerarr = array();
		$dotted = 0;
		$dotspace = 3;
		$dotend = $pages - $dotspace;
		$curdotend = $page - $dotspace;
		$curdotstart = $page + $dotspace;
		for ($i = 0; $i < $pages; $i++) {
			if (($i >= $dotspace && $i <= $curdotend) || ($i >= $curdotstart && $i < $dotend)) {
				if (!$dotted)
				   $pagerarr[] = "<td class=\"pager\">...</td><td class=\"pagebr\">&nbsp;</td>";
				$dotted = 1;
				continue;
			}
			$dotted = 0;
			$start = $i * $rpp + 1;
			$end = $start + $rpp - 1;
			if ($end > $count)
				$end = $count;

			 $text = $i+1;
			if ($i != $page){
			    $onClick    = 'onclick="SE_Pager(\''.(int)$_GET['id'].'\',\''.$i.'\',\''.$jQuery.'\');return false;"'; 
				$pagerarr[] = "<td class=\"pager\"><a ".$onClick." title=\"$start&nbsp;-&nbsp;$end\"  style=\"text-decoration: none;cursor:pointer;\"><b>$text</b></a></td><td class=\"pagebr\">&nbsp;</td>";
			}else{
				$pagerarr[] = "<td class=\"highlight\"><b>$text</b></td><td class=\"pagebr\">&nbsp;</td>";
			}
				  }
		$pagerstr = join("", $pagerarr);
		$pagertop = "<table class=\"main\"><tr>$pager $pagerstr $pager2</tr></table>\n";
		$pagerbottom = "Всего $count на $i страницах по $rpp на каждой странице.<br /><br /><table class=\"main\">$pager $pagerstr $pager2</table>\n";
	}
	else {
		$pagertop = $pager;
		$pagerbottom = $pagertop;
	}

	$start = $page * $rpp;

	return array($pagertop, $pagerbottom, "LIMIT $start,$rpp");
}


она для другого движка
кто-то понимает как ее можно прикрутить ?


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