puts.php(JSON)
{
"image":[
{
"name":'<div id="yes">Hi!</div>'
}
]
}
process.php
<HTML>
<HEAD>
<TITLE>Process</TITLE>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.3.2.min.js"></script>
<script>
function loadPage() {
$(document).ready(function () {
$.getJSON('puts.php', function (JSON) {
$('#result').empty();
$.each(JSON.image, function (i, img) {
$('#result').append(img.name)
});
});
});
}
function loadEfect() {
$(document).ready(function () {
$('#yes').fadeOut();
$('#yes').fadeIn();
});
}
function start() {
loadPage();
loadEfect();
}
</script>
</HEAD>
<BODY onLoad="start()">
<div id="result"></div>
</BODY>
</HTML>
process.php
函数中的 loadEfect()
代码不起作用。 (fadeIn
,fadeOut
无效)页面加载了loadPage()
函数,但loadEfect()
函数不起作用。为什么是这样?我在哪里可以搞错?请帮忙。
答案 0 :(得分:3)
loadEfect
无效,因为没有ID yes
的元素。
另外,请勿同时使用onload
和$(document).ready(
。只使用一种方法。
function loadPage() {
$.getJSON('puts.php', function (JSON) {
$('#result').empty();
$.each(JSON.image, function (i, img) {
$('#result').append(img.name)
});
});
}
function loadEfect() {
$('#yes').fadeOut();
$('#yes').fadeIn();
}
$(document).ready(function(){
loadPage();
loadEfect();
}
然后从onLoad="start()"
代码中删除<body>
。
答案 1 :(得分:2)
它无效,因为onload
发生在onready
之后。尝试这样的事情:
$(function(){
$.getJSON('puts.php' function(json){
$.each(json.image, function(i, img){
$('#result').append(img.name)
};
});
$('#yes').fadeOut();
$('#yes').fadeIn();
});
答案 2 :(得分:1)