Javascript 已应用 CSS3 过渡不适用于新元素
Javascript applied CSS3 transitions not working on new element
我正在混合使用 CSS/JS 为新页面创建一些简单的页面幻灯片过渡,最终将由 AJAX 动态加载,但是在创建新元素时 "main2" 它有必要的 -webkit-transition 等。它不会像它应该的那样滑入,而只是出现。然而,上一页使用基本相同的代码可以很好地滑出。
除此之外,将上一页动画结束后的滑入更改为:
function newPage() {
var newMain = document.createElement("div");
newMain.className = "main";
newMain.style.left = "100vw";
newMain.id = "main2";
newMain.style.zIndex = 1999;
newMain.style.background = "#AAA";
document.body.appendChild(newMain);
oldMain = document.getElementById("main");
oldMain.style.left = "-50vw";
setTimeout(function() {
newMain.style.left = "50vw";
oldMain.parentNode.removeChild(oldMain);
newMain.id = "main";
}, 1000);
}
让它动画化,只是时间不对。
如有任何帮助,我将不胜感激,我确信这只是我错过的非常简单的事情。
演示:JSFiddle
试试这个:http://jsfiddle.net/5raj05th/8/
我更改了代码,因此您可以通过添加样式来触发转换:
newMain.style.left = "100vw";
及以后:
newMain.style.left = "0";
我正在混合使用 CSS/JS 为新页面创建一些简单的页面幻灯片过渡,最终将由 AJAX 动态加载,但是在创建新元素时 "main2" 它有必要的 -webkit-transition 等。它不会像它应该的那样滑入,而只是出现。然而,上一页使用基本相同的代码可以很好地滑出。
除此之外,将上一页动画结束后的滑入更改为:
function newPage() {
var newMain = document.createElement("div");
newMain.className = "main";
newMain.style.left = "100vw";
newMain.id = "main2";
newMain.style.zIndex = 1999;
newMain.style.background = "#AAA";
document.body.appendChild(newMain);
oldMain = document.getElementById("main");
oldMain.style.left = "-50vw";
setTimeout(function() {
newMain.style.left = "50vw";
oldMain.parentNode.removeChild(oldMain);
newMain.id = "main";
}, 1000);
}
让它动画化,只是时间不对。
如有任何帮助,我将不胜感激,我确信这只是我错过的非常简单的事情。
演示:JSFiddle
试试这个:http://jsfiddle.net/5raj05th/8/
我更改了代码,因此您可以通过添加样式来触发转换:
newMain.style.left = "100vw";
及以后:
newMain.style.left = "0";