我已经写了脚本,可以从外部php文件加载内容。我正在使用jquery1-9-1。我的脚本工作正常,除了那一刻我第二次单击按钮。动画开始前会有0.5秒的延迟。我想我知道问题出在哪里。 $("#header").animate({marginTop: "10px"...必须仅在第一次单击时执行。单击一次后,必须将其禁用。谁知道如何解决?不要对我如此苛刻,对不起我的英语

$(document).ready(function () {
    var content = $("#content");
    $("#main_menu a").click(function () {
        var id = this.id;
        $("#header").animate({
            marginTop: "10px"
        }, 500, function () {
            $("#content").fadeOut(500, function () {
                $("#content").load(id + ".php")
                $("#content").fadeIn(500)
            })
        })
    })
})

最佳答案

我必须问,如果您拒绝使用它,然后稍后再次调用content = $("#content"),那么缓存$("#content")有什么意义呢?

无论如何,您需要一个变量来判断它是否是第一次运行:

    $(function () {
        var content = $("#content"), isfirst = true;
        $("#main_menu a").click(function () {
            var id = this.id,
                reveal = function() {
                    content.fadeOut(500, function () {
                        content.load(id + ".php")
                        content.fadeIn(500)
                    });
                };
            if( isfirst) $("#header").animate({marginTop: "10px"}, 500, reveal);
            else reveal();
            isfirst = false;
        });
    });

07-24 09:47
查看更多