function navigation($url) {
clearTimeout(restim);
text($url);
}
вообщем понял что тем способом не решу проблему...убил пол дня.
сошолся на
echo '<script language="JavaScript" type="text/javascript">
function msg()
{
var s = "'.$id.'";
var x = encodeURIComponent(s);
$.ajax({
type: "POST",
url: "mas.php",
data: "id="+x+"",
success: function(html){
$("#text").html(html);
}
});
}
$(document).ready(function(){
msg();
setInterval(\'msg()\',10000);
});
</script>';
Но вопрос как сделать теперь навигацию без перезагрузки страницы?
blackvj, передавай все в один запрос , страницу, ид и прочее, аякс сделай функцией, повесь на нужные клики события, при выполнении которых будет грузить функция с аргументами, аргументы в аякс
Koenig, в классе функций есть функция навигации
function jsnav2($base_url, $start, $max_value, $num_per_page)
{
$neighbors = 2;
if ($start >= $max_value)
$start = max(0, (int)$max_value - (((int)$max_value % (int)$num_per_page) == 0 ? $num_per_page : ((int)$max_value % (int)$num_per_page)));
else
$start = max(0, (int)$start - ((int)$start % (int)$num_per_page));
$base_link = '<a class="navpg" href="javascript:navi" onclick="javascript:msg(\'' . strtr($base_url, array('%' => '%%')) . 'page=%d' . '\')" >%s</a>';
$out[] = $start == 0 ? '' : sprintf($base_link, $start / $num_per_page, '←');
if ($start > $num_per_page * $neighbors)
$out[] = sprintf($base_link, 1, '1');
if ($start > $num_per_page * ($neighbors + 1))
$out[] = '<span style="font-weight: bold;"> ... </span>';
for ($nCont = $neighbors; $nCont >= 1; $nCont--)
if ($start >= $num_per_page * $nCont) {
$tmpStart = $start - $num_per_page * $nCont;
$out[] = sprintf($base_link, $tmpStart / $num_per_page + 1, $tmpStart / $num_per_page + 1);
}
$out[] = '<span class="navpg1"><b>' . ($start / $num_per_page + 1) . '</b></span>';
$tmpMaxPages = (int)(($max_value - 1) / $num_per_page) * $num_per_page;
for ($nCont = 1; $nCont <= $neighbors; $nCont++)
if ($start + $num_per_page * $nCont <= $tmpMaxPages) {
$tmpStart = $start + $num_per_page * $nCont;
$out[] = sprintf($base_link, $tmpStart / $num_per_page + 1, $tmpStart / $num_per_page + 1);
}
if ($start + $num_per_page * ($neighbors + 1) < $tmpMaxPages)
$out[] = '<span style="font-weight: bold;"> ... </span>';
if ($start + $num_per_page * $neighbors < $tmpMaxPages)
$out[] = sprintf($base_link, $tmpMaxPages / $num_per_page + 1, $tmpMaxPages / $num_per_page + 1);
if ($start + $num_per_page < $max_value) {
$display_page = ($start + $num_per_page) > $max_value ? $max_value : ($start / $num_per_page + 2);
$out[] = sprintf($base_link, $display_page, '→');
}
return implode(' ', $out);
}
Аякс обрабатывает страницу
с постраничным навигатором echo '<div class="menu">' . jsnav2('mas.php?', $start, $total, $kmess) . '</div>';
Но на главной странице где собственно и подгружаеться сама страница, я понять не могу принцип реализации навигации
По клику событие
$base_link = '<a class="navpg" href="javascript:navi" onclick="javascript:msg(\'' . strtr($base_url, array('%' => '%%')) . 'page=%d' . '\')" >%s</a>';
Вот есть аякс
function msg()
{
var s = "'.$id.'";
var x = encodeURIComponent(s);
$.ajax({
type: "POST",
url: "mas.php",
data: "id="+x+"",
success: function(html){
$("#text").html(html);
}
});
}
Как тогда прикрутить событые их класса навигации к нему?
И вывсети через параметры в строке
data: "id="+x+"", ????
Навигация находиться на странице mas.php
А аякс обработчик на другой странице
Думал так сделать но увы
function msg($url)
{
var p = "'.$url.'";
var s = "'.$id.'";
var x = encodeURIComponent(s);
$.ajax({
type: "POST",
url: "mas.php",
data: "id="+x+"&page="+p+"",
success: function(html){
$("#text").html(html);
}
});
}
blackvj, опять усложнил, разберемся в теории, тебе нужно вывести ссылки на страницы , это делаем пыхом, для расчетов нужно знать количество на страницу и число записей, простая математика и округление в большую сторону, ссылки вида ?page=1
вешаем аякс на document.ready и забираем все аргументы с query string
по примеру выше все отдаем в обработчик, все расчеты в обработчике
$start = ...
$kmess = ...
запрос, фетч и тд, отдаем страницу
сами сообщения отдаем аяксом, навигация пыхом
1. В классе функций уже есть подсчет кол. страниц c page
2. Я document.ready заменил через функцию для подальшего ее авто обновления
-----
Я так понял расчет нужно вести на той же странице на которой и сам аякс стоит.
Но тогда как сделать
навигацию по событию?
Тоесть это
$base_link = '<a class="navpg" href="javascript:navi" onclick="javascript:msg(\'' . strtr($base_url, array('%' => '%%')) . 'page=%d' . '\')" >%s</a>';
Знаю что я достал наверно...но блин начал потихоньку переежать с wap строения на web. Вот и изучаю все в азах так сказать...
Буду оченб благодарен если пример на коде напишеш...
Просто не могу понять как это в коде будет выглядеть... день убил на это...все проблема в навигации без перезагрузки страницы