преобразование простой нумерации страниц в javascript в код jquery - PullRequest
3 голосов
/ 21 августа 2010

У меня есть простой код нумерации страниц, который был написан с использованием сырых кодов JavaScript

function ChangeForumPage(e){
    if(busy == 0)
    {
        switch(e)
        {
            case "Next":
                page = p+1;
                p++;
                break;
            case "Prev":
                if(p>1)
                {
                    page = p-1;
                    p--;
                }
                break;
        }
        xmlHttp=GetXmlHttpObject();
        if (xmlHttp==null)
          {
          alert ("Your browser does not support AJAX!");
          return;
          } 
        var url="MTForumsBlock.php?req=LastTopics&p="+page;
        xmlHttp.onreadystatechange=ChangeForumPageProces;
        xmlHttp.open("GET",url,true);
        xmlHttp.send(null);
    }
}

function ChangeForumPageProces(e){
    if(xmlHttp.readyState==4)
      {
        document.getElementById("MTForumBlock").innerHTML=xmlHttp.responseText;
        document.getElementById("MTFloader").innerHTML='';
        busy = 0;
      }else{
        document.getElementById("MTFloader").innerHTML='<img src="images/loader.gif" />';
        busy = 1;
      }
}

, и мне нужно иметь такую ​​же возможность с jquery

, но я не знаю, как это сделатьчто!

это должно только изменить страницу, если я нажму следующую или предыдущую кнопку

Ответы [ 2 ]

1 голос
/ 21 августа 2010

Конечно, не проблема.В следующем примере используется множественный селектор , чтобы прикрепить обработчик события click к предыдущей и следующей кнопкам.Затем он использует метод загрузки , чтобы получить HTML-код, который вы будете использовать для заполнения вашего #MTForumBlock:

var busy = false;
var p = 1;
$('#next, #prev').click(function(e){

     // stop the link's href from being followed
     e.preventDefault();

     // check if we're in the middle of a request
     if(busy) return;
     busy = true;

     // Update the page variable
     if( $(this).attr('id') == 'next' ){
         p++;
     } else if ( p > 1 ) {
         p--;
     }

     // Add the loader image
     var loader = $('<img src="images/loader.gif" /');
     $('#MTFloader').append(loader);
     $('#MTForumBlock').load('MTForumsBlock.php?req=LastTopics&p='+p, function() {
         // Remove the loader image once the AJAX is finished and mark finished
         loader.remove();
         busy = false;
     });

)};

HTML-код будет выглядеть примерно так:

<a href="" id="next">Next</a>
<a href="" id="prev">Previous</a>
1 голос
/ 21 августа 2010

Возможно, вы захотите использовать плагины jQuery для разбивки на страницы, и они работают из коробки, вы просто указываете свои настройки:

...