页面加载后,您不能增加 PHP 变量。您正在尝试使用 JavaScript 在客户端增加它们。如果您想在不刷新页面的情况下执行此操作,您将需要使用 AJAX 调用该 PHP,即使这样您也需要增加一个 javascript 变量来跟踪您所在的位置。
编辑:我有点疯狂地使用 PHP 和 JavaScript 创建一个 ajax 例程,特别是 jQuery 库,你需要链接到它才能工作。您可能还需要修改脚本的某些部分以处理您要完成的工作,但这肯定是您希望运行 ajax 应用程序的指南。
首先用这个脚本创建一个 PHP 文件:
<?php
// Set content header to json
header('Content-Type: application/json');
// Get the index from the AJAX
$index = $_GET['index'];
// Grab file contents & parse
$html = file_get_contents("http://www.9gag.com");
preg_match_all( '|http://d24w6bsrhbeh9d\.cloudfront\.net/photo/.+?\.jpg|', $html, $gags);
// Send filename back to AJAX script as JSON
echo json_encode(array($gags[0][$index]));
?>
然后,在您的 HTML 中,包含此 jQuery 以完成对 PHP 脚本的 AJAX 调用,并使用来自 PHP 脚本的数据更新 DOM。
<script>
$(function() {
'use strict';
// Initiate index variable
var index = 0;
// Load initial image
loadImage(index);
// Add click event to a button with class of next-btn
$('.next-btn').click(function(e) {
e.preventDefault();
// Increment index to get next image
index++;
// Run AJAX function to retrieve image
loadImage(index);
});
// Add click event to a button with class prev-btn
$('.prev-btn').click(function(e) {
e.preventDefault();
// Decrement the index if it isn't 0
if (index > 0) {
index--;
}
// Run AJAX function to retrieve image
loadImage(index);
});
});
function loadImage(index) {
'use strict';
$.ajax({
type: 'GET',
url: 'your-php-script.php', // Filepath to your PHP script
data: 'index='+index, // Index is passed through GET request
dataType: 'json', // Return JSON
success: function (data) { // If the php script succeeds
// Change img with class of pic's src
// to the filename retrieved from php
$('.pic').attr('src', data[0]);
}
});
}
</script>
根据您的需要进行配置将需要一些重要的 PHP 和 jQuery/JavaScript 知识,因为可能需要进行一些调试。祝你好运!
编辑 2:如果您想下载,我将工作(经过测试,可以工作)源文件上传到我的网站。请接受答案,让我知道你抓住了文件......
http://www.wedgewebdesign.com/files/ajax-image-loader.zip