首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery动画没有动画

Jquery动画没有动画
EN

Stack Overflow用户
提问于 2012-07-03 00:45:15
回答 3查看 404关注 0票数 0

我正在开发一个网站,它使用jquery动画函数在加载时从左上角展开网站。实际上,我并不是为这个特性编写代码的人,所以我对它并不太熟悉。它曾经起过作用,但现在它似乎根本不起作用。我知道.js文件正在加载并正在运行,因为其中的第一段代码是显示“页面正在加载”消息的时间延迟。但是,它只是显示已经加载的页面,而不是从左上角出现并滑动的页面。我也包括CSS和标记,虽然我不认为这是问题所在。任何帮助都将不胜感激!谢谢!

注意:我们使用的是Jquery版本1.7.2

CSS:

代码语言:javascript
复制
 #builder
    {
        position:relative;
        min-height:100%;
        min-width:100%;
        z-index:999;
    }

JavaScript:

代码语言:javascript
复制
function hideIt() {

    document.getElementById("wait").style.display = "none";

}

setTimeout("hideIt()", 1000);

function showIt() {

    document.getElementById("builder").style.display = "block";
}

setTimeout("showIt()", 2500);

function build() {
    $(document).ready(function () {

        $("#builder").animate({ height: '0%', width: '0%' }, 1);
        $("#builder").animate({ height: '100%', width: '100%' }, 2000);


    });
}

标记:

代码语言:javascript
复制
<body onLoad="build()">
<img src="wait.gif" id="wait" style="display:block;" />

wait.gif只是一张图片,上面写着“页面正在加载”.

页面被包装在以下内容中:

代码语言:javascript
复制
<div id="builder" align=center style="display:none;">
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-03 01:02:55

如果#builder元素在显示之前隐藏了2.5秒,则动画将在元素显示时完成。删除body onLoad上的内联函数,然后尝试:

代码语言:javascript
复制
function hideIt() {
    $("#wait").hide();
}

function showIt() {
    $("#builder").show(2000); //should do somewhat the same as animating from the top left
}

$(function() {
    setTimeout(hideIt, 1000); //no need to quote the functions and eval them
    setTimeout(showIt, 2500);
});

或者只是

代码语言:javascript
复制
$("#wait").delay(1000).hide(10);
$("#builder").delay(2500).show(2000)
票数 1
EN

Stack Overflow用户

发布于 2012-07-03 00:52:24

尝试像这样调整代码:

代码语言:javascript
复制
$(document).ready(function() {
    $('#wait').hide(1000, function(){  // hide the #wait
        $("#builder").show().animate({ // then show, then animate #builder
            height: '100%',
            width: '100%'
        }, 2000);
    });
});

侧注:记住,当您使用百分数和包含#builder的元素时,也需要设置它的高度和宽度。

票数 0
EN

Stack Overflow用户

发布于 2012-07-03 00:52:42

很可能在调用show()之前很久它就被动画化了。所以当它显示出来的时候,动画就完成了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11303088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档