我正在尝试将“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/
谢谢。
答案 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');
});