困惑于我应该从哪里开始分页{$.getJSON,php image array}
Confused about where I should start with pagination {$.getJSON, php image array}
以下是我的代码现在的设置方式:
-
用户访问页面上的某个链接
-
$.getJSON
向php脚本发送请求 -
php调用
scandir()
为图像的名称创建一个数组(最终为100s-1000个,但现在只有几个用于测试,因此需要添加分页) -
echos a json编码阵列
-
$.each
项目用于创建一个字符串变量,该变量是一个新的标签 -
将字符串变量前置到div容器,该容器是图像的内联显示
以下是我要做的:
-
一次有50个项目加载ajax
-
弄清楚如何使用
$.each
,使其与50项需求一起工作 -
想出一种不同的方法来使用
$.getJSON
,这样就不会同时请求所有xxxx数量的图像
我的问题:
- 如何让只在javascript事件顶部发出一次的请求在用户点击这些页面的整个过程中保持活动状态
Php从scandir创建数组似乎不是问题。。。也许一次返回整个数组是个问题,但我不知道如何创建一个循环,等待用户请求(单击"next"或"prev")迭代到数组中接下来的50个图像。
我想最好的工作地点应该是在$.each
之前或内部,以某种方式使用一个循环来等待下面的ajax请求来创建接下来的50个标签,并将它们预先发送到。
这是代码:
requestServer('ajax.php', flag);
$('#Container').fadeIn('slow');
$('.close_button').click(function() {
$('#Container').fadeOut('slow');
$('#welcome').fadeTo('slow',1);
$('#i1,#i3,#i5').click(clickFade).mouseover(mouseOverFunc);
$('#welcome').css({'position':'absolute','z-index':'10'});
});
flag = false;
break;
function requestServer(file, run_flag) {
if (run_flag === true) {
$.getJSON(file, function(data) {
$.each(data, function(key, val) {
var html = "<img src='../images/"+val+"' style='display:inline' alt=null />";
$('#Container').prepend(html);
});
});
}
}
<?php
$images = scandir('../includes/scrapedImages/');
foreach ($images as $key => $image) {
if ($image == '.' || $image == '..') {
unset($images[$key]);
}
}
echo json_encode($images);
?>
在每次请求时扫描映像目录似乎很浪费。
就我个人而言,我会编写一个PHP脚本,每X分钟扫描一次目录(或者在图像上传时调用)。让它将其编码为JSON,并将输出保存为服务器上某个位置的.json
文件。
在客户端,$.get
那个JSON文件。创建50个图像元素,并将它们的.src
设置为从JSON
文件中检索到的URL。在页面底部有一个前进/后退按钮,可以将这50个图像元素.src
重新设置为下一个/上一个集。
或者,您也可以在DOM
之外创建一个img
元素,然后设置interval
以每隔Z毫秒更改该元素的.src
。浏览器将下载图像,即使它们没有附加在DOM
中,并且这些加载的图像将被缓存。
祝你好运:)
- 使用php或javascript从facebook相册URL中删除多余的部分
- 将PHP变量传递给jQuery时遇到问题
- 通过javascript重定向html传递php变量
- 将数组从PHP传递到Javascript
- 如何在php文件中获取$.post-ajax传递的值
- $.getJSON 到一个带有 include_once 的 php 失败了,但它完成了工作
- 困惑于我应该从哪里开始分页{$.getJSON,php image array}
- json_encode mysql 请求的 PHP 脚本无法传递到 getJSON()
- 使用 .getJSON 从 php 文件中检索 JSON 数据
- jQuery $.getJSON : 将数组传递给 PHP
- Jquery getJson无法使用php json_encode
- 如何使用getJSON将javascript关联数组传递到php文件
- 如何在php中传递$.getjson数据,更好的是使用laravel的@foreach
- PHP json_encode然后getJSON问题在javascript
- 从php到JavaScript变量的单值getJSON
- jquery中的getJSON;json_encode在PHP &头
- 使用getJson查询php上的变量
- 使用getJson在php查询中插入可变日期
- 美元.getJSON与php文件
- 如何使用getJson将变量发送到php文件