我想稍微修改一下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'); });`
对不起英语,我是法国人。