2010-12-17 5 views
4

私はカスタムアコーディオンスタイルのショーケースを作成しようとしています。実際の機能の面では、私は(ここで見ることができる)フレームワークを持っている:jQuery:カスタム横アコーディオン幅の問題

http://www.jsfiddle.net/adrianjacob/UdUus/

しかし私の主なバグのクマ(およびクライアント)を使用すると、右側を見れば、そこにあるということです幅が上下に動くにつれて常にわずかな動き/ちらつきがあります。

理想的には、開閉リストだけに動きがあるように、スムーズにしたいと思っています。

アドバイスをいただければ幸いです。

A.

+0

ええと...それはトリッキーなものです。丸め誤差に関係している必要があります。私は幅を%の年齢に変更して遊びをしてきましたが、それは良いことではありません。私はそれを維持し、私は何かを考え出すことができるかどうかを見ていきます。 –

+0

また、絶対的な位置付けを試みていますが、それでも動作させることはできません。それはイライラしている。 –

+0

非常にイライラする:) – Adi

答えて

1

animate機能のstepを(それは十分に文書ではありません)を使用してください...私は同様の方法をKwicksに使用されているdemo

var panels = $('#promo li'); 

panels.hoverIntent(

function() { 
    if (!$(this).is('.expanded') && !panels.is(':animated')) { 
     $(this).animate({ 
      width: 200 
     }, { 
      // width is the calculated width, ani is the animation object 
      step: function(width, ani) { 
       var w = Math.floor(width); 
       // use 250 so we end up with 50 as the reduced size 
       $('.expanded').css('width', (250 - w) + 'px'); 
       $(ani.elem).css('width', (200 - w) + 'px'); 
      }, 
      duration: 500, 
      complete: function() { 
       panels.removeClass('expanded'); 
       $(this).addClass('expanded'); 
      } 
     }); 
    } 
}, function() {}); 

を更新しましたプラグイン。

+0

+1クロムの中で少しでもジッタがあるが、ほとんど目に見えない! –

+0

Fudgey ...道があるあまりにも編集する(http://www.jsfiddle.net/Mottie/UdUus/117/)ので、すべてのパネルが等幅で開始してからスムーズに拡大/縮小されますか? – Adi

+0

これを行うにはもう少し複雑です計算され、均等に拡張され、縮小されたパネルのサイズを保存します。あなたが今求めているのはまさにKwicksのプラグインです。 – Mottie

0

あなたはバグを考え出したかもしれthis pluginを試みることができます。提供された例は、実際に伝えるにはあまりにも派手でした。

jQuery UIイージングで遊んだことはありますか?

+0

画面のサイズを変更してもプラグインはうまくいかない:(あまりにも悪く見える!) – Mottie

0

divが開いているときにだけイベントを停止することもできます。説明と

ウェブサイトは次のとおりです。http://api.jquery.com/stop/