Büyük JQuery resim galerisi yüklemek için çözüm

2 Cevap php

Ben (bir dereceye kadar, standartlara uyumlu olması gerekiyor) bir üniversite web sitesinde bazı resim galerileri yükseltme yapıyorum. En galerileri HTML birçok sayfalarıdır. Ben güzel paginated galerileri oluşturmak için, jQuery eklentisi, Galleriffic, yanı sıra ben yazdım bazı PHP kodu kullanarak oldum ve o kadar harika görünüyor. Ama iki sorun var.

İlk sorun, JS etkin olsa bile, yine de yüklemek için bir süre almasıdır. Ben JS hakkında anladığım, tüm elemanlar bunları işlemek için JS için DOM yüklenmesi gerekir, bu yüzden yükleme tüm küçük resimleri engellemek için bir şeyler yapmak, ve sadece sahip miyim JS azıyor önce minik tüm sayfada yüklemeniz gerekir Bu Galerinin her sayfasında olanları yük? Bu yol, yük zaman her sayfada dağıtılır.

İkinci sorun, Javascript devre dışı bırakıldığında, tüm 400 + minik sayfada yüklemek zorunda olmasıdır. Bu beklenen bir davranıştır ve bu büyük olanlar için iyi değil küçük galeriler için çalışıyor, ama. PHP bunu sayfalandırmak, ama sayfalandırma önlemek için (etkin) JS kullanmak mümkün mü?

Ben JS son derece yetkin değilim, bu yüzden ben sadece tamamen habersiz olduğum bir çözüm olduğunu umuyordum, ve tam bir revizyon olmadan uygulayabilirsiniz.

2 Cevap

Well, first you could make a PHP page which loads the gallery, showing e.g. 25 images at a time. Clicking the pagination button, the page reloads and displays the next 25 images.

Ileri oldukça düz olmalıdır. No JS / jQuery gerekli.

Then you can add you JS script. E.g. I have a dropdown list to select which gallery I wanbt to use. In jQuery I have added a listenere on selectbox.change.

OnChange, I do a jQiery.post and reload the same page, now getting my next 25 images. The list result (list of images) I return from my jQuery.post as HTML.

. Sonra ben sadece jQuery ('# gallery') html (veri) demek;

İşte benim gallery.php dosyasında benim kod parçası:

   // If Type is set to e.g. 'jquery', then we know tis page load is from a jQuery request.
    if ( (isset($_POST['type'])) && (isset($_POST['page'])) )
    {
        //This is a jQuery request
        $jQueryReq  = 1;
        $page         = $_POST['page'];
    }


<?php if($jQueryReq == 0) { ?>
  Default html oupthere when there is no jquery request
<?php } else if($jQueryReq == 1) {  ?>
  Here you put the code that gets the images and displays them on the page    
<?php }?>

Ve burada sözde jQuery kodudur. Yazının dönüş tür fark HTML

  // Retrieve and list images
  jQuery.post("wp-content/imageGallery/gallery.php", { id: itemID, page: pagenr },
  function(data){
    jQuery('#galleryContainer').html(data);
    // Here you can add other jQuery functions to interact with images
  }, "html"); 

Bu size resim galerisi göstermek için PHP / jQuery kullanmak nasıl bir fikir verir umuyoruz

Bir beyin fırtınası öneri Bit ...

Bu sonuçlar sadece ilk sayfasını dahil etmek (PHP kullanarak) orijinal biçimlendirme yazmak için durumunda mantıklı olabilir. Bu yaklaşım, belge tamamlamak ve JS zaman makul miktarda başlamak için izin vermelidir.

Sayfa tam dolu ile, sonra jQuery kullanabilirsiniz -. $ Ajax () - daha fazla görüntü elde etmek ... olarak gerekli bazda ya hepsi yeni sayfalar, sorun boyutuna bağlı olarak bu mühendisi istiyorum için.

Bu may düzgün eklentisi gallerific çağırarak müdahale olarak izleyin. Ben aşina değilim, ve ben kesin diyemem. Öyle ise, gallerific tekmeleme önce ek görüntüleri yükleme işlemini tamamlamak gerekebilir.