2012-04-29 1 views
4

ユーザーが特定のしきい値を満たすように画面のサイズを変更したときにリダイレクトするスクリプトを作成しようとしています。Javascript/JQuery - 特定のサイズでウィンドウのリダイレクトを行う

$(window).resize(function(){ 
    if ((window.width > 225px) && (window.width < 255px) && (window.height > 330px) && (window.height < 400px)) 
    { 
    window.location = "URL GOES HERE" 
    }; 
+4

これは本当に悪い考えです。私は、ブラウザが突然青からページを再読み込みし始めたときに、疑わしいと思っているのを簡単に想像することができます。あなたがここで解決しようとしている正確な問題は何ですか? CSSのメディアクエリ(JSのほんの少しの助けですが、リダイレクトやリロードはしません)を使用すれば、よりエレガントに(そしてあまり目立たないように)解決できます。 – tdammers

答えて

7

あなたはjQueryオブジェクトにwindowをラップして関数を呼び出す必要がありますので、これらは、jQueryの関数であり、次のように私はjQueryのウィンドウのリサイズ機能と私が書いたコードを使用してい

ですその上:$(window).height()および$(window).width()。また、これらの機能はreturn only a numberのため、pxは必要ありません。

$(window).resize(function() { 
    if (($(window).width() > 225) && ($(window).width() < 255) && ($(window).height() > 330) && ($(window).height() < 400)) 
    { 
     window.location = "URL GOES HERE" 
    }; 
}); 

変数に変数を保存して、2回クエリする必要がないようにすることができます。あなたの質問の下のコメントで@tdammers suggestedよう

$(window).resize(function() { 
    var w = $(window).width(); 
    var h = $(window).height(); 
    if ((w > 225) && (w < 255) && (h > 330) && (h < 400)) { 
     window.location = "URL GOES HERE"; 
    } 
}); 

、これよりもあなたの問題へのよりよい解決策がなければなりません。

+1

は '225px'はjavascriptの有効なキーワードです...? – gdoron

+0

@gdoron有効なポイント、ミスター:)。 – kapa

+1

+1今私は10のrepのポイントを寄付することができます... :) – gdoron

関連する問題