我想稍微修改一下jquery BA BBQ。我想添加一些动画。
我尝试用这样的动画替换 show() 和 hide() 函数:
$( '.bbq-content' ).animate({ height: "100%" },1000);
但它不能正常工作。
我不知道在哪里替换原始 jQuery 中的代码:
$(函数(){
// 为缓存目的保留 url 到容器的映射。
变量缓存 = {
// 如果 url 是 '' (没有片段),显示这个 div 的内容。
'': $('.bbq-default')
};
// 绑定一个事件到 window.onhashchange,当历史状态改变时,
// 从哈希中获取 url 并显示我们缓存的内容或获取
// 要显示的新内容。
$(window).bind('hashchange', function(e) {
// 以字符串形式获取哈希(片段),删除任何前导 #。注意
// 在 jQuery 1.4 中,你应该使用 e.fragment 而不是 $.param.fragment()。
var url = $.param.fragment();
// 从任何以前的“当前”链接中删除 .bbq-current 类。
$('a.bbq-current').removeClass('bbq-current');
// 隐藏任何可见的 ajax 内容。
$( '.bbq-content' ).children( ':visible' ).hide();
// 仅当 url 不为空时,将 .bbq-current 类添加到“当前”导航链接。
url && $( 'a[href="#' + url + '"]' ).addClass( 'bbq-current' );
如果(缓存[url]){
// 因为元素已经在缓存中,所以不需要
// 已创建,所以不要再次创建它,让我们展示一下吧!
缓存[url].show();
} 别的 {
// 在加载 AJAX 内容时显示“加载”内容。
$( '.bbq-loading' ).show();
// 为这个 url 的内容创建容器,并在其中存储对它的引用
// 缓存。
缓存[url] = $('')
// 将内容容器附加到父容器。
.appendTo('.bbq-content')
// 通过 AJAX 加载外部内容。请注意,为了保持这个
// 精简示例,仅显示.infobox 中的内容。你会
// 想根据你的需要改变它。
.load(网址,函数(){
// 内容加载,隐藏“加载”内容。
$( '.bbq-loading' ).hide();
});
}
})
// 由于事件只有在hash变化时才会触发,所以我们需要触发
// 现在的事件,用于处理页面可能已加载的哈希。
$(window).trigger('hashchange');
});`
对不起英语,我是法国人。