Ajax 텍스트를 이미지로 바꿉니다
-
04-07-2019 - |
문제
나는 다음 mootools 스크립트를 만들었습니다
window.addEvent('domready', function() {
var shouts = "timed.php";
var log = $('log_res');
function updateData (url,target)
{
new Ajax(url,{
method: 'get',
update: $(target),
onComplete: function() {
log.removeClass('ajax-loading');} }).request();
log.empty().addClass('ajax-loading');
}
var update = function(){ updateData ( shouts, 'log_res' ); };
update(); // call it immediately
update.periodical(10000); // and then periodically
});
그녀는 HTML입니다
<div id="AJAX">
<h3>Ajax Response</h3>
<div id="log_res">exercise</div>
</div>
MOO 1.1을 사용합니다.
위의 내용은 정상적으로 작동하며 페이지로드 된 다음 Div ID Log_Res의 Ajax 요청 차기에는 업데이트 중에 Ajax로드 클래스가 있으며 DIV의 텍스트 연습이 완료되면 Ajax가 반환 한 모든 것으로 대체됩니다 (Yippee). 그러나 Ajax로드 클래스가 정보를 포함하기에 충분하지 않기 때문에 페이지가로드되는 동안 DIV에 사용자 정의 HTML을 DIV에 넣고 싶습니다. AJAX 요청이 정보를 검색하는 동안 DIV에 Spinny Flasher를 넣고 싶습니다. . 그것이 말이되기를 바랍니다!
해결책
Mootools 1.2에서는 요청 된대로 작동합니다.
function updateData (url, target)
{
var target = $(target);
target.empty().addClass('ajax-loading');
target.innerHTML = "Loading...";
new Request({
url: url,
method: 'get',
onComplete: function(responseText) {
target.removeClass('ajax-loading');
target.innerHTML = responseText;
}
}).send();
}
당신은 재미가없고 mootools 1.1을 사용하기 때문에 조금 파헤쳐 봐야합니다 ... 실제로, 나는 당신이 가진 것과 거의 같은 설정을 사용하여 작동했습니다 (내가 사용하는 통지 target
대신에 log
, 이 함수의 범위 외부에서 정의되었습니다) :
function updateData (url, target)
{
var target = $(target);
target.empty().addClass('ajax-loading');
target.innerHTML = "Loading...";
new Ajax(url, {
method: 'get',
update: target,
onComplete: function() {
target.removeClass('ajax-loading');
}
}).request();
}
다른 팁
당신은 다음과 같은 일을 할 수 없습니다 :
function updateData (url, target)
{
var target = $(target);
target.innerHTML = 'Please wait...';
//and the rest of the function
}
제휴하지 않습니다 StackOverflow