2
 jQuery(function() {
            jQuery('#rightbar').bind('mouseenter',function(){
                  jQuery(this).stop().animate({right: 0}, {duration:600});
            });
            jQuery('#rightbar').bind('mouseleave',function(){
                  jQuery(this).stop().animate({right: '-150px'}, {duration:600});
            });
        });

この機能を自分の Web サイトで使用していますが、Firefox (最新) を除くすべてのブラウザーで正しく動作します。

div #rightbar にカーソルを合わせると、スクリプトのように右に移動するのではなく、左に移動します。私はChromeとfrefoxをチェックします:

Chrome では、ホバーすると右属性が -150 -> 0 に変更されます

しかし、Firefoxでは、ホバーすると、右の属性が-150 -> -170 ...などに変更されます.

理由はわかりませんが、Firefox のバグ (?) かもしれません。

あなたの助けを楽しみにしています。

ありがとうございました!

P/s: ここで確認できます: http://goo.gl/SChFo

4

1 に答える 1

4

いくつかの調査を行ったところ、FireFox のバグのようです。

https://bugzilla.mozilla.org/show_bug.cgi?id=844178

min-widthforの代わりに使用する場合は修正できwidthます.rightbar(少なくともfirefoxの場合、正直に言うと、これがクロスブラウザーで機能するかどうかを確認する時間がありませんでした)

ここで、同じ問題を抱えた同様の質問:
css jquery position fixed element on the right. Firefox のアニメーション BUG

この質問は、それがFFの問題であることをより明確にします。なぜなら、値は変更されrightず、値のみbottomが変更されるためです。ただし、例と同じ効果があります。

于 2013-07-15T05:43:55.950 に答える