通過阿賈克斯郵寄請求與任何燈箱拼湊掙扎。 概念是點擊一個鏈接後發送到服務器的數據包含圖像標識符和某種用戶驗證信息。 生成的jpg圖像應顯示在響應式開源燈箱中。 嘗試lightboxj.js和魔術盒沒有成功。 這可能嗎? 任何示例?由於javascript或jquery通過阿賈克斯發送郵件數據
更新1
我現在包括一些代碼,做這項工作的一半:它加載到一個特定的div(#imageHidden)我需要的圖像(因此,「POST」請求被覆蓋)
$("#testa").bind('click', function(e){
e.stopImmediatePropagation();
e.preventDefault();
$.ajax({
type: "POST",
data : {
username: username,
password: password,
img: img
},
url: php_url,
success: function(data){ //read the value and save in settings
if (data.length>0) {
$('#hiddenImage').html('<img src="data:image/jpeg;base64,' + data + '" />');
// $.colorbox({href:"#hiddenImage"});
}
});
然後我會設置這個div爲隱藏,以避免顯示在頁面上(我希望它僅在燈箱)顯示...
現在的問題是如何顯示此成一個燈箱。任何建議?
出於某種原因,顏色框是不是在我的情況下工作
感謝
更新2
好,一些分類:
顏色框所需要的屬性內嵌到be true to show content of the page:
$.colorbox({inline:true, href:"#hiddenImage"});
我已經把我的#hiddenImage到#hiddenDiv:
#hiddenDiv { display: none; }
更新3
好吧,我覺得現在的工作。 我使用colorbox作爲燈箱。 請注意#hiddenImage是一個想要顯示的圖像,它將被加載到一個不可見的(display:none)#hiddenDiv DIV中。
對於大家感興趣的最終代碼:
$("#testa").bind('click', function(e){
e.stopImmediatePropagation();
e.preventDefault();
$.ajax({
type: "POST",
data : {
username: username,
password: password,
img: img
},
url: php_url,
success: function(data){ //read the value and save in settings
if (data.length>0) {
$('#hiddenImage').html('<img src="data:image/jpeg;base64,' + data + '" />');
$.colorbox({inline:true, href:"#hiddenImage"});
}
});
});
唯一剩下的問題似乎在某個時候是lightbos空的,但如果我設置一個計時器,顏色框調用之前等待的秒的十分之幾本被解決。
有沒有一種方法,以確保代碼
$('#hiddenImage').html('<img src="data:image/jpeg;base64,' + data + '" />');
調用顏色框(除了醜的setTimeout選項)之前完全執行?
你能提供代碼(小提琴)和更多關於你的問題的細節嗎? –
已添加。感謝Mosh。 – lui