我有这个代码:
<div id="quote">
<p>
Click on image please.
</p>
</div>
<img class="post" src="positif.png" title="rate this positive" onclick="positif(this);">
如果单击图像,它将调用此函数:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var jq = jQuery.noConflict(true);
</script>
<script type="text/javascript">
function positif(obj) {
var url = obj.parentNode.valueOf('href');
var nama = obj.parentNode.innerText;
alert(url);
jq("#quote p").load("retrain/pos.php?url=" + url + "&nama=" + nama);
}
</script>
load
调用此 pos.php
脚本:
$url = $_GET["url"];
$nama = $_GET["nama"];
$nama2 = str_replace(str_split('\\/:*?"<>|()'), '', $nama);
$post = '../cat/statistika/S_' . $nama2 . '.txt';
$current = file_get_contents($url);
if (file_get_contents($url)) {
$current2 = preg_replace('#<script(.*?)>(.*?)</script>#is', '', $current);
$current3 = preg_replace('#<style(.*?)>(.*?)</style>#is', '', $current2);
$current4 = strip_tags($current3);
$current5 = preg_replace('/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/', '', $current4);
file_put_contents($post, $current5);
echo "Rated positive, Thanks for your response!";
} else {
echo 'Sorry, connection failed. Try again later.';
}
他们工作得很好。但由于我在那里使用 file_put_content
,这需要时间,并且在 put_content
成功时它不会显示任何“更改”。通过扩展,我必须在 PHP(或 javascript?) 工作时创建进度条或加载图像,以最终显示 Rated Positive blah2
。
我将其放入 positif(obj)
函数的末尾:
jq('body').ajaxStart(function() {
jq('#loading').show();
}).ajaxComplete(function() {
jq('#loading').hide();
});
以及 div#quote p
上方的另一个 div
,内容如下:
<div id="loading">
<img id="loading-image" src="loading_thing.gif" alt="Loading..." style="display: none"/>
</div>
没用。 我在这里没有做什么?
最佳答案
不要忘记显示您的图像占位符
jq('body').ajaxStart(function() {
jq('#loading, #loading-image').show();
}).ajaxComplete(function() {
jq('#loading, #loading-image').hide();
});
关于php - 加载 javascript 和 php 脚本时无法显示加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18691010/