0

私の問題は少し複雑です。

slideDown()機能をアニメーションに依存するドロップダウンを備えたナビゲーション メニューがあります。ドロップダウンには、margin-topスタイルの設定方法が原因である必要がmargin-topありますが、ユーザーのフォント、ズームなどの設定に基づいて、ウィンドウの読み込み後に jQuery で設定する必要があります。これを行うには、 を使用しますattr("style","margin-top: -22px !important")。これにより、ドロップダウンが正常に機能します。ただし... を使用するslideDown()と、jQuery は!importantドロップダウンのアニメーションにとって重要な を削除します。を使用しない場合!important、は と の両方をslideDown()アニメーション化しますが、見栄えがよくありません。margin-topheight

私の質問は: jQuery がインライン スタイルをオーバーライドするのを止める方法はありますか?

例: http://jsfiddle.net/Sy9dC/3/

4

1 に答える 1

0

要素の css プロパティ値を変更するには、 css({})を使用します。

$(".navigation-secondary-submenu").css('margin-top'," -10px");

または使用できます:

$(".navigation-secondary-submenu").removeClass('old_class').addClass('new_class')

new_classには css プロパティがあります

.new_class{
    ******
    margin-top: -10px !important;
}

または、この css プロパティが動的に追加されます。

$(docyment).ready(function(){
      $(".navigation-secondary-submenu").attr('style','margin-top:-22px !important');

     $("button").click(function() {
         $(".navigation-secondary-submenu").attr('style','margin-top:-10px !important');
      });
});
于 2013-02-08T13:33:22.583 に答える