我最近的任务是创建一个HTML驱动的网页,将模拟基本的Flash转换和动画,这使我转向jQuery,自然。该网站有四个不同的页面,每个页面都有其特定的背景和一小段文字。为单页网站优化jquery动画
简单吗?显然不适合我。当我将交互式模拟运行到批准状态时,我遇到了动作缓慢的问题,仅针对显示器超过18英寸的(惊喜,惊喜)Mac电脑。我运行测试的电脑在所有主流浏览器上都能很好地工作 - Chrome, IE9和FF。对于18英寸以上的Mac,然而,FF的效果最好,其余的则非常糟糕。
我已经尝试过手段和方法来优化jQuery代码,甚至使用index.html页面将所有图像预加载到浏览器缓存中,然后将用户重定向到实际网页,所有这些都希望在那里可能对处理时间的压力较小。
不幸的是,没有任何工作。
这是一个单页面设置,这样很可能只有助于低迷的主要因素之一,但它没有解释为什么它适用于个人电脑和18" 岁以下的Mac电脑的罚款。
在任何情况下,这里是我的动画代码片段在负载元素和页/部分之间的过境褪色:
$(document).ready(function(){
$("#home-button").click(function(){
$("#home").fadeTo(2000, 1);
$("#location").fadeTo(2000, 0);
$("#services").fadeTo(2000, 0);
$("#contact").fadeTo(2000, 0);
$("#bg-img-1").fadeTo(2000, 0);
$("#bg-img-2").fadeTo(2000, 0);
$("#bg-img-3").fadeTo(2000, 0);
$("#bg-img-4").fadeTo(2000, 1);});
$("#location-button").click(function(){
$("#home").fadeTo(2000, 0);
$("#location").fadeTo(2000, 1);
$("#services").fadeTo(2000, 0);
$("#contact").fadeTo(2000, 0);
$("#bg-img-1").fadeTo(2000, 0);
$("#bg-img-2").fadeTo(2000, 1);
$("#bg-img-3").fadeTo(2000, 0);
$("#bg-img-4").fadeTo(2000, 0);});
$("#services-button").click(function(){
$("#home").fadeTo(2000, 0);
$("#location").fadeTo(2000, 0);
$("#services").fadeTo(2000, 1);
$("#contact").fadeTo(2000, 0);
$("#bg-img-1").fadeTo(2000, 0);
$("#bg-img-2").fadeTo(2000, 0);
$("#bg-img-3").fadeTo(2000, 1);
$("#bg-img-4").fadeTo(2000, 0);});
$("#contact-button").click(function(){
$("#home").fadeTo(2000, 0);
$("#location").fadeTo(2000, 0);
$("#services").fadeTo(2000, 0);
$("#contact").fadeTo(2000, 1);
$("#bg-img-1").fadeTo(2000, 1);
$("#bg-img-2").fadeTo(2000, 0);
$("#bg-img-3").fadeTo(2000, 0);
$("#bg-img-4").fadeTo(2000, 0);});});
这里是我的背景图片的CSS样式,并且具有调整大小和作物某些图形元素根据浏览器的大小:
img.bg{
min-height: 100%;
min-width: 900px;
width: 100%;
height: auto;
position: fixed;
top: 0;
left: 0;
z-index:-4;}
#bg-img-1,#bg-img-2, #bg-img-3, #bg-img-4{
opacity:0;}
img.d-4{
min-height: 100%;
min-width: 1024px;
width: 92%;
height: auto;
position: fixed;
top:0;
left:0;
z-index:-3;
opacity:0.3;}
img.d-5{
min-height: 100%;
min-width: 1024px;
width: 92%;
height: auto;
position: fixed;
margin-left:-50px;
z-index:-3;}
任何关于如何进一步优化和防止缓慢问题的帮助或意见非常感谢。
谢谢你们! :)