先回答next
问题。
如果您一次加载图像。
这是 jsFiddle。
如果你使用 ajax,这个函数应该被实例化来加载图像,这将显示 ajax-spinner 直到图像被加载。
在这里获取您的 ajax 微调器。.
jQuery
//Assuming gallery-overlay is id of the div where you are showing image.
$(function(){
$("#gallery-overlay").html("<img src='ajax-spinner.gif'>");
$.post(url,{variable:variable},function(data){
$("#gallery-overlay").html(data);
//data is whatever your php file returns. The ajax-spinner will be there till this appends the html returned by your php file.
});
})
PHP
//Post variables
//Get the src and image details from table.
$src = $row['src-in-db'];
$alt = $row['alt-in-db'];
$width = $row['width-in-db'];
$height = $row['height-in-db'];
//Echo the html code for #gallery-overlay.
echo "
<img src='".$src."' width='".$width."' height='".$height."' alt='".$alt."'>
";
然后对于下一个和上一个按钮,您也不需要在小提琴中完成的 jQuery。您将需要另一个向您发送图像 html 的 php 文件。
回答第一个问题
正如我在您之前的问题 IMO 中已经说过的那样,这取决于您一次加载多少张图片。告诉我你装了多少?
您还完成了 jQuery 部分和全部,所以我建议暂时不要使用 ajax。如果您还要加载大约 20-25 张图像。
这里有一些你必须看到的问题。
问题 1。
问题2。(这些答案足以满足您的第一个问题)
由于这是一个图片库,我确信您会在模态窗口外的预览中显示图片,对吧?
那么绝对不需要使用ajax,因为图像是由浏览器缓存的。
结论:不要使用ajax。让它成为你已经做过的事情。只需为 esc 按钮添加关闭按钮或事件处理程序即可关闭模式窗口。
增加浏览器对 img 缓存的 max-age,
浏览器会缓存图片吗?
你如何在Javascript中缓存图像