Safari中的页面过渡效果?

时间:2020-03-06 14:25:57  来源:igfitidea点击:

如何在Safari的网页中添加IE等页面过渡效果?

解决方案

我们可以查看以下示例:http://sachiniscool.blogspot.com/2006/01/implementing-page-transitions-in.html。它描述了如何使用AJAX和CSS在Firefox中模拟页面转换。同样的方法也适用于Safari。以下代码是从该页面获取的,并经过了稍微格式化:

var xmlhttp;
var timerId = 0;
var op = 1;

function getPageFx() {
  url = "/transpage2.html";
  if (window.XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest()
    xmlhttp.onreadystatechange=xmlhttpChange
    xmlhttp.open("GET",url,true)
    xmlhttp.send(null)
  } else getPageIE();
}

function xmlhttpChange() {
// if xmlhttp shows "loaded"
  if (xmlhttp.readyState == 4) {
  // if "OK"
    if (xmlhttp.status == 200) {
      if (timerId != 0)
        window.clearTimeout(timerId);
        timerId = window.setTimeout("trans();",100);
    } else {
       alert(xmlhttp.status)
    }
  }
}

function trans() {
  op -= .1;
  document.body.style.opacity = op;
  if(op < .4) {
    window.clearTimeout(timerId);
    timerId = 0; document.body.style.opacity = 1;
    document.open();
    document.write(xmlhttp.responseText);
    document.close();
    return;
  }
  timerId = window.setTimeout("trans();",100);
}

function getPageIE() {
  window.location.href = "transpage2.html";
}

查看Scriptaculous。如果这就是我们要指的是,请避免使用仅IE的JS(不知道我们指的是哪种效果)。