2013-08-22 66 views
0
之间产生白色闪光

我有一个页面应用程序,每个页面都设置为显示:无。toggleClass切换页面可在

显示页面,我一类添加到他们:

.current-page{ 
    display:block; 
} 

所以切换页面,我只是toggleClass(“当前页”)我现在的页与页之间我想切换到:

$('.current-page, #'+desiredPage).toggleClass('current-page') 

然而,这似乎并没有立刻发生,我得到页之间一道白光闪过,仿佛有之间的一个页面被隐藏,另一个显示一秒钟的延迟。

什么是最好的方法来解决这个问题?有没有更好的方法来切换页面?

+2

你使用AJAX动态加载它们?你能告诉我们一个jsfiddle吗? – Alvaro

+0

淡入淡出新页面,淡入淡出旧页面,只是将显示切换为无或块会给你突然闪烁。 –

+0

我正在使用ajax将内容加载到新页面中,然后在内容已被触发后切换页面 – rpsep2

回答

2

相反切换的display财产堆栈上互相利用的z-index的上方显示出所需页面的所有页面:

.page { 
    z-index: 1; 
} 

.page.current-page { 
    z-index: 2; 
} 

See this demo

+0

这会停止闪烁,但是position:absolute会停止滚动页面? – rpsep2

+0

取决于您的DOM结构和应用的CSS规则,您可能需要更改一些内容。也许这些网页容器是一个很好的开始。例如,当您将“position:absolute”赋予“.page”元素时,其父元素的高度会减小。 – letiagoalves

+0

必须改变相当多的其他CSS/JS这个工作,但现在没有页面之间闪烁,希望我从一开始就使用这种方法!谢谢 – rpsep2

0
$('.current-page').toggleClass('current-page'); 
$('#'+desiredPage).hide().toggleClass('current-page').fadeIn(); 

可能是你要找的那种东西?