ウィンドウの幅を毎回確認したい(ブラウザのサイズ変更でも)。これは私の機能です:
function checkWidth() {
var width = $(window).width()
if(width > 640){
return true;
}else{
return false;
}
alert(width);
}
if(checkWidth()){
$(function(){
$("#fancylink").fancybox({
'type': 'iframe',
'width': 900,
'height': 600,
'autoScale': false
});
});
}
ただし、幅は一度だけチェックされます。その理由は、クエリが外側にあるため、ページの読み込み時にのみチェックされていると思うからです。コードを再構築するにはどうすればよいですか?
編集:
fancybox
id を持つ要素でインスタンス化されますfancylink
。この場合、特定の URL を持つアンカー要素です。この URL は、誰かがリンクをクリックすると、fancybox で iFrame として開かれます。私の目標は、特定の幅に達しない場合はファンシーボックスを開かないようにすることです。代わりに、通常のリンクとして機能し、新しいタブで開く必要があります。幅が 640px を超える場合のみ、iFrame としてファンシーボックスで開く必要があります。
そのため、ブラウザのサイズ変更時にブラウザの幅を確認するか、デバイスの向きが縦向きから横向きに変わったかどうかを確認する必要があります。私のコードfancybox
では、ページの読み込み時に幅に達したかどうかにかかわらずインスタンス化されます。ただし、デバイスの向きが変わったり、ブラウザのサイズが変更されたりすると、これは機能しなくなります。これに対する解決策はありますか?
私の問題に対する他の解決策がわからないので、そのままにしておくと思います。