6

私は(この質問から-画面が特定の幅よりも小さい場合はdivを非表示にする)このコーディングを見つけました

  $(document).ready(function () {

    if (screen.width < 1024) {
        $("#floatdiv").hide();
    }
    else {

        $("#floatdiv").show();
    }

});

唯一の問題は、コードを機能させることができないようです。IEで機能するようにコードを記述すればよいだけです。他の(新しい)ブラウザでは、メディアクエリを使用します。私が間違っているところに関するヒント/ヒントはありますか?

これまでのところ私は <div id="floatdiv">

次に、そのdivの終わりに(ここで閉じます)私は持っています

<!--[if lt IE 9]>
<script type="text/javascript" src="http://dl.dropbox.com/u/17087195/website/sidebar_size.js"></script>
<![endif]-->

私のヘッダーには <script type='text/javascript' src='http://www.itsdaniel0.com/wp-includes/js/jquery/jquery.js?ver=1.4.4'></script>

そして、私はまだコードを動作させることができません(IE8でテストしています)私はまだどこかで間違っていますか?

更新別のjQueryがリンクされていますが、これが問題の原因である可能性がありますか?これが以下のコーディングの完全な部分です

<div id="floatdiv">

<div class="floating-menu">

<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.itsdaniel0.com%2F2011%2F03%2Funicorns-are-cool%2F&amp;layout=box_count&amp;show_faces=true&amp;width=55&amp;action=like&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:55px; height:65px;" allowTransparency="true"></iframe>

<br /><br /><a href="http://twitter.com/share?url=http%3A%2F%2Fid0.me%2Fj0&amp;counturl=http://www.itsdaniel0.com/2011/03/unicorns-are-cool/" class="twitter-share-button" data-text="Unicorns Are Cool" data-count="vertical" data-via="itsdaniel0 #itsdaniel0">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

<br /><br />

<script src="http://widgets.fbshare.me/files/fbshare.js"></script>

</div>

</div>

<script type="text/javascript" src="http://dl.dropbox.com/u/17087195/website/sidebar.js"></script>

<!--[if lt IE 9]>

<script type="text/javascript" src="http://dl.dropbox.com/u/17087195/website/sidebar_size.js"></script>

<![endif]-->

エラーメッセージ

Webページエラーの詳細

ユーザーエージェント:Mozilla / 4.0(互換性; MSIE 7.0; Windows NT 5.1; Trident / 4.0; chromeframe / 10.0.648.133; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; .NET4.0E; InfoPath.2)タイムスタンプ:2011年3月12日土曜日11:31:32 UTC

メッセージ:予期される識別子、文字列、または数値行:140文字:1コード:0 URI:www.itsdaniel0.com/2011/03/unicorns-are-cool/

メッセージ:オブジェクトはこのプロパティまたはメソッドをサポートしていません行:16文字:1コード:0 URI:dl.dropbox.com/u/17087195/website/sidebar_size.js

メッセージ:'twttr.anywhere._instances'がnullであるか、オブジェクトではありません行:1文字:5207コード:0 URI:platform.twitter.com/anywhere.js?id = 6vIPELyEeU5vcSc3c0Q5w&v = 1

メッセージ:'twttr.anywhere._instances'がnullであるか、オブジェクトではありません行:1文字:5207コード:0 URI:platform.twitter.com/anywhere.js?id = 6vIPELyEeU5vcSc3c0Q5w&v = 1

「lowrep」エラーのためにURLからhttpを削除しました

4

3 に答える 3

13

JQUERYを使用した古い回答:

//the function to hide the div
function hideDiv(){

    if ($(window).width() < 1024) {

            $("#floatdiv").fadeOut("slow");

    }else{

        $("#floatdiv").fadeIn("slow");

    }

}

//run on document load and on window resize
$(document).ready(function () {

    //on load
    hideDiv();

    //on resize
    $(window).resize(function(){
        hideDiv();
    });

});

編集:css3メディアクエリのクロスブラウザサポートが大幅に増えたことに注意してください。JavaScriptよりもクロスブラウザを使用する方がはるかに効果的です。

CSSの使用。

/* always assume on smaller screen first */

#floatdiv {
    display:none;
}

/* if screen size gets wider than 1024 */

@media screen and (min-width:1024px){
    #floatdiv {
        display:block;
    }
}

最近のほとんどのブラウザでは、window.matchMediaを使用してjavascriptでメディアクエリを実行することもできます。

if(window.matchMedia("(min-width:1024px)").matches){
    console.log("window is greater than 1024px wide");
}
于 2011-03-11T20:33:30.997 に答える
4

画面要素を設定する必要があります。

var screen = $(window)

例えば:

$(document).ready(function () {

    var screen = $(window)    

    if (screen.width < 1024) {
        $("#floatdiv").hide();
    }
    else {

        $("#floatdiv").show();
    }

});
于 2011-03-11T20:22:00.160 に答える
3

勝利のためのメディアクエリ

ブラウザウィンドウが特定の幅の場合、divを表示しないようにするにはどうすればよいですか?

@media all and (max-width: 1024px) { /* Change Width Here */
  div.class_name {
     display: none;
  }
}
于 2013-05-09T10:14:33.900 に答える