Eredmény: 1 - 4 (4) összesen

Téma: Ajax megjelenítési gond

  1. #1
    Tag
    Csatlakozott
    10-09-06
    Hozzászólás
    53
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás Ajax megjelenítési gond

    Sziasztok!

    Csináltam egy honlapot, ahol a frame-eket div-el helyettesítettem, és ajax kezeli. A gond a következő lenne:
    Van pl. egy nagyobb tartalom, amit lapozással több részre tördelek, de még így is nagyobb mint a div. Mivel a divnél megadtam az overflow-ot, szépen megjelenik a görgetősáv. De mikor rákattintok a következő lapra, és betöltődik, akkor nem ugrik a tartalom elejére, hanem ugyan ott marad, és nekem kell görgetni. Ezt hogy lehetne kiküszöbölni?
    Az oldal címe: www.azeletert.hu (Meditációs Terem menüpont)

    Az ajax kezelő:
    Kód:
    (function($){
       $.fn.clickLoad=function(){
          $(document.body).delegate('a', 'click', function(){
             var link = $(this).attr("href");
             if(link.match(/^[A-Za-z]+:\/\//i)){
                return true;
             }
             if(!link.match(/(html|php)/)){
                return true;
             }
     		 if($(this).attr("target") == "logout"){
                show_admin(link);
                my_show("pages/page.php?page=nagyterem");
    		 }else{
                my_show(link);
             }
             return false;
          });
       }
    
    ...
    
    function my_show(link){
       $.ajax({
          type: "GET",
          url: link,
          data: "",
          beforeSend: function(d,s){
             $(".loading").fadeIn("slow", function(){
                $(".loading").css("display","block");
             });
          },
          success: function(html){
             $("#tartalom").fadeOut("slow", function(){
                $("#tartalom").fadeIn("slow").html(html);
             });
          },
          error: function(XMLHttpRequest,textStatus,errorThrown){
             $("#tartalom").fadeOut("slow", function(){
                $("#tartalom").fadeIn("slow").load("lib/error.php");
             });
          },
          complete: function(d,s){
             $(".loading").fadeOut("slow", function(){
                $(".loading").css("display","none");
             });
          }
       });
    }
    
    $(document).ready(function(){
    ...
       $("a").clickLoad();
       $(".norm").submitForm();
       show_admin("admin/admin.php");
       my_show("pages/page.php?page=nagyterem");
    });
    Ez a hibajelenség a formoknál is megvan.

    Előre is köszi a segítséget!



  2. #2
    Törzsvendég
    Csatlakozott
    09-11-15
    Hely
    Hajdú-Bihar, Magyarország
    Hozzászólás
    101
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Ajax megjelenítési gond

    Ahogy látom, jQuery-t használsz. Ajánlom figyelmedbe a jQuery scrollTop() metódusát, azzal a tetejére (is) scrollozhatsz lapozásnál.

    http:api.jquery.com/scrollTop/



  3. #3
    Tag
    Csatlakozott
    10-09-06
    Hozzászólás
    53
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Ajax megjelenítési gond

    Köszi szépen! Sikerült. Viszont azt nem értem, hogy miért villan, mikor betölti az új lapot a divbe....



  4. #4
    Új tag
    Csatlakozott
    11-01-29
    Hozzászólás
    28
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Ajax megjelenítési gond

    a fenti jQuery kódban a fadeIn és a fdaeOut függvény tünteti el a korábbi tartalmat és jeleníti meg az újat.
    elfogadnak szöveges paramétereket, próbáld ki a "slow" helyett a "fast" szóval, az 200 millisec-es időtartalmat jelent, vagy beadhatsz szám paramétert is (idézőjel nélkül), hogy még gyorsabbra állítsd.

    Ha pedig csak le akarod cserélni, akkor nem kell hozzá fade-elni, akkor a html() függvény is használható.

    próba nélkül, pl ezt javasolnám, ez azonnal lecseréli a tartalmat:
    success: function(html){
    $("#tartalom").html(html);
    },




A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •