1

我想稍微修改一下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');

     });`

对不起英语,我是法国人。

4

0 回答 0