在这个.load()代码片段中放置“innerShiv”的位置?

时间:2011-09-08 22:57:03

标签: jquery

我正在尝试将“innerShiv”插入此代码中:

$(function() {

    var newHash      = "",
        $mainContent = $("#main-content"),
        $pageWrap    = $("#page-wrap"),
        baseHeight   = 0,
        $el;

    $pageWrap.height($pageWrap.height());
    baseHeight = $pageWrap.height() - $mainContent.height();

    $("nav").delegate("a", "click", function() {
        window.location.hash = $(this).attr("href");
        return false;
    });

    $(window).bind('hashchange', function(){

        newHash = window.location.hash.substring(1);

        if (newHash) {
            $mainContent
                .find("#guts")
                .fadeOut(200, function() {
                       $mainContent.hide().load(innerShiv(newHash + " #guts"), function() {
                    $mainContent.fadeIn(200, function() {
                        $pageWrap.css({
                            height: baseHeight + $mainContent.height() + "px"
                        });
                    });
   });
                        $("nav a").removeClass("current");
                        $("nav a[href='"+newHash+"']").addClass("current");
                    });
                });
        };

    });

    $(window).trigger('hashchange');

});

这还不行。在哪里正确放置支架?

来源:

http://css-tricks.com/6336-dynamic-page-replacing-content
http://jdbartlett.com/innershiv/

谢谢。

1 个答案:

答案 0 :(得分:1)

您的问题主要是语法问题,例如关闭括号的数量不正确等。尝试使用像Aptana这样的编辑器,它会为您突出显示这些类型的内容,以便您可以在浏览器中尝试之前进行调试。在此期间,我已经更正了您的代码。

$(function() {

var newHash      = "",
    $mainContent = $("#main-content"),
    $pageWrap    = $("#page-wrap"),
    baseHeight   = 0,
    $el;

$pageWrap.height($pageWrap.height());
baseHeight = $pageWrap.height() - $mainContent.height();

$("nav").delegate("a", "click", function() {
    window.location.hash = $(this).attr("href");
    return false;
});

$(window).bind('hashchange', function(){

    newHash = window.location.hash.substring(1);

    if (newHash) {
        $mainContent
            .find("#guts")
            .fadeOut(200, function() {
                   $mainContent.hide().load(innerShiv(newHash + " #guts"), function() {
                $mainContent.fadeIn(200, function() {
                    $pageWrap.css({
                        height: baseHeight + $mainContent.height() + "px"
                    });
                });
});
                    $("nav a").removeClass("current");
                    $("nav a[href='"+newHash+"']").addClass("current");
                });
            };
    });


$(window).trigger('hashchange');

});