2012-06-01 28 views
0

我有一個畫廊,一個大圖像滑塊和縮略圖在PHP中工作的小網格,但我需要一個JavaScript函數來交換和重用此功能來交互式加載新的圖像和縮略圖。如何將啓動參數傳遞給Jquery函數以填充圖像滑塊和網格?目前,我正在用start參數和document.load函數寫入文檔的href,我廢除了這個href和fire一個getjson函數來從我的數據庫中提取記錄?如何從php腳本中啓動Jquery get請求?

這裏是我的jQuery的,它會在我的菜單裏的文檔樹的第一href和使用它作爲獲取參數從我的數據庫中提取的記錄:

$j("#tx-gallery-pi1 #menu li").click(function() { 
    $j.getJSON($j(this).find('a').attr('href'), function(json) { 
    var container = $j('#tx-gallery-pi1 #container'); 
    container.masonry(); 
    $j.each(json, function(idx, ele) { 
     container.append($j("#brickTemplate").tmpl(ele).css({ 
     "display": "block" 
     })).masonry('reload'); 

     container.imagesLoaded(function() { 
     // bricks correct height 
     var brick = $j("#tx-gallery-pi1 #container .brick"); 
     brick.each(function() { 
      var content = $j(this).find(">div"); 
      var img = $j(this).find("img"); 
      content.css({ 
      height: img.attr("height") 
      }); 
     }); 
     }); 
    }); 
    }); 
    return false; // don't follow the link! 
}); 

}

+0

你能給我們一些代碼嗎? – user1104854

+0

只是使用<?php echo的東西將參數回顯到jQuery代碼中; ?>標籤 – jrubins

+1

對於我來說,如果您想完全將javascript代碼與javascript分離,那麼您的解決方案看起來非常有效。您可以使用隱藏的輸入而不是錨點。另一種選擇,在分離方面不太嚴格,就是用PHP輸出'

1

你應該拆分該PHP在你的控制器上的不同動作(如get_thumbnails和get_image與每個部分的html代碼)和使用jQuery,你可以做「$(thumbnails_container).load('/ get_thumbnails.php')」,它會更容易回答如果你至少把相關的代碼

檢查jQuery的load方法的文檔,如果你需要,當你用PHP創建HTML文檔發佈或獲取參數

+0

是的,參數是什麼? – Bytemain

+0

您可以在url上傳遞get參數directyl:「$(container).load('url.php?paramater1 = value1&parameter2 = value2'),並且post參數應該是一個散列值,並且在第二個參數中傳遞{param:value}對於函數加載,如果你有這個散列,那麼這個請求會自動成爲一個post請求。 – arieljuod