0

最大幅が 959px の場合、jquery を使用して.twitterと.emailの 2 つのdivを元の位置から削除し、これら 2 つの div を div #maininnerの後に配置します。

最大幅が 959px より大きい場合、これら 2 つの div を元の位置に戻したいと思います。どちらも#sidebar-a内にある独自の div クラス.grid-box.width100.grid-v内にあります。

問題は、#sidebar-a 内に複数の .grid-box.width100.grid-v があることです。2 つの div .twitter と .email を、それらが削除された 2 つの空の .grid-box.width100.grid-v に入れるにはどうすればよいですか?

注: 複数の div クラス .grid-box.width100.grid-v に個別のクラスを配置することはできません。

$.onMediaQuery('(max-width: 959px)', {
        valid: function() {
        $("#sidebar-a ").remove().insertBefore($("#maininner"));    
        $(".twitter").remove().insertAfter($("#maininner"));
        $(".email").remove().insertAfter(("#maininner"));

        },

        invalid: function() {
        $("#sidebar-a").remove().insertAfter($("#maininner"));
        $(".twitter").remove().appendTo($(".grid-box.width100.grid-v"));
        $(".email").remove().appendTo($(".grid-box.width100.grid-v"));

        }
    });

助けてくれてありがとう!:D

4

2 に答える 2

1

との値$.clone()を複製するために使用するのが最善の方法だと思います。次に、オリジナルを非表示にします。幅が変更された場合は、現在の幅を再評価し、それに応じて可視性を変更します。.twitter.email

于 2013-01-23T01:05:34.550 に答える
0

これに単純な css ルールを使用できる場合に jQuery を使用する理由は、これを css ファイルに追加するだけで実現できることに注意してください。

@media screen and (max-width: 959px) {
    .twitter,.email{
        display: none;
    }
}

コンテンツを削除して追加する代わりに、画面サイズに応じてコンテンツを非表示または表示できます。

于 2013-01-23T01:43:15.927 に答える