7

jQuery(window).height()を使用したフルページのスライドショーがあり、ほとんどのブラウザーで正常に機能しますが、携帯電話(Androidブラウザーとドルフィン)でチェックアウトすると、スライドショーは無限に成長し続け、ビューポート。これは私のコードです:

var height = jQuery(window).height();
jQuery('.slide').each(function(index, element) {
    if(height > 600) jQuery(this).height(height);
    else jQuery(this).height(600);
});
jQuery(window).on('resize orientationChanged', function() {
    jQuery('.slide').each(function(index, element) {
        if(height > 600) jQuery(this).height(height);
        else jQuery(this).height(600);
    });
});

それを引き起こしている可能性のあるアイデアはありますか?

ありがとう。

4

3 に答える 3

7

したがって、この質問の3年後、モバイルデバイスでjqueryウィンドウの高さがまだ機能しないという質問がありましたが、jqueryをjavascriptに置き換えるだけでうまくいきました。

jqueryを置き換える

var bodyh = jQuery("body").height();
var windowh = jQuery(window).height();

JavaScriptで

 var bodyh = document.body.clientHeight;
 var windowh = window.innerHeight;
于 2015-10-21T22:45:22.307 に答える
1

HTML ドキュメントに DOCTYPE 宣言がない場合、それは有効な HTML ではありません。ウィンドウで doctype が指定されていない場合、JQuery はウィンドウの高さ/ドキュメントの高さを正しく計算できません。

宣言は、ページで使用されている HTML バージョンに関する Web ブラウザへの指示です。

したがって、指定していない場合は、HTML ページに DOCTYPE 宣言を追加して、出力を確認してください。

<!DOCTYPE HTML>
<html>
   //...
</html>
于 2014-06-30T11:36:08.767 に答える
0

html ドキュメント タイプに問題がある可能性があります。モバイル デバイスのドキュメント タイプの例を次に示します。コードでこれを変更して試してください。

<!DOCTYPE html> 
<html> 
<head> 
    <title>My Page name</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1">

詳細は以下のリンクを参照してください。 http://www.microsoft.com/en-GB/developers/articles/jquery-mobile-101

于 2014-06-30T12:00:30.977 に答える