Hallo
ich habe mir zwei scripte aus dem Netz gesucht.
In dem Einen wird ein einfacher Ajax Request durchgeführt.
Das zweite führt einen EinblendEffekt durch.
Nun möchte ich diese beiden scripts verbinden sodas der neue Inhalt eingeblendet wird ...
leider sind die Timings schlecht.
Ajax Request:
Fadingscript:
kann mir jemand helfen???
ich habe mir zwei scripte aus dem Netz gesucht.
In dem Einen wird ein einfacher Ajax Request durchgeführt.
Das zweite führt einen EinblendEffekt durch.
Nun möchte ich diese beiden scripts verbinden sodas der neue Inhalt eingeblendet wird ...
leider sind die Timings schlecht.
Ajax Request:
PHP:
function ajaxPost(url, postData, callback) {
var req;
try {
req = window.XMLHttpRequest ? new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert('Fehler AjaxJS!');
}
req.onreadystatechange = typeof callback == 'function' ? callback : function() {
if (req.readyState == 4 && req.status == 200) {
if(typeof callback == 'string') callback = document.getElementById(callback);
if(callback) {
// callback.style.display = 'none';
callback.innerHTML = req.responseText;
}
}
};
req.open('POST', url, true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(postData);
// Durchführung des fading:
fade(callback);
return false;
}
Fadingscript:
PHP:
function fade(eid,was)
{
var TimeToFade = 450.0;
var element = document.getElementById(eid);
if(element == null)
return;
if(element.FadeState != null)
{
if(element.style.opacity != null
|| element.style.opacity == ''
|| element.style.opacity == '0.8')
{
element.FadeState = -2;
}
else
{
element.FadeState = 2;
}
}
if(element.FadeState == 1 || element.FadeState == -1)
{
element.FadeState = element.FadeState == 1 ? -1 : 1;
element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
}
else
{
element.FadeState = element.FadeState == 2 ? -1 : 1;
element.FadeTimeLeft = TimeToFade;
element.style.display = element.FadeState == 2
? 'none' : 'block';
setTimeout("animateFade(" + new Date().getTime()
+ ",'" + eid + "')", 33);
}
}
function animateFade(lastTick, eid)
{
var TimeToFade = 250.0;
var curTick = new Date().getTime();
var elapsedTicks = curTick - lastTick;
var element = document.getElementById(eid);
if(element.FadeTimeLeft <= elapsedTicks)
{
element.style.display = element.FadeState == 1
? 'block' : 'none';
element.style.opacity = element.FadeState == 1
? '.85' : '0';
element.style.filter = 'alpha(opacity = '
+ (element.FadeState == 1 ? '85' : '0') + ')';
element.FadeState = element.FadeState == 1 ? 2 : -2;
return;
}
element.FadeTimeLeft -= elapsedTicks;
var newOpVal = element.FadeTimeLeft/TimeToFade;
if(element.FadeState == 1)
newOpVal = 1 - newOpVal;
newOpVal = newOpVal*0.85;
element.style.opacity = newOpVal;
element.style.filter =
'alpha(opacity = ' + (newOpVal*100) + ')';
setTimeout("animateFade(" + curTick
+ ",'" + eid + "')", 33);
}
kann mir jemand helfen???