2017-05-29 3 views
0

既存のjqueryコンポーネント(読み込みの進行状況バー)をインストールしたいが動作しません。Uncaught TypeError: 'HTMLProgressElement'の 'value'プロパティを設定できませんでした。提供されたdouble値は非有限です

HTML::

<progress value="0"> 
<div class="progress-container"> 
    <span class="progress-bar"></span> 
</div> 
</progress> 

JS:

$(function() { 
    $(window).on("scroll resize", function() { 
     var o = $(window).scrollTop()/($(document).height() - $(window).height()); 
     $(".progress-bar").css({ 
      "width": (100 * o | 0) + "%" 
     }); 
     $('progress')[0].value = o; 
    }) 
}); 

答えて

0

編集:私は私を助けてください、jqueryのを知らないあなたは私にそのCSSを使用したページを示した後に[OK]をので、私は見ました実際の問題がそこにあったことは、CSSで。 sectionノードにheight: 100%;を設定すると、投稿した元のコードが機能します。

オリジナルの答え:0とき$(document).height() - $(window).height() 0を返します。結果によってscrollTopスプライト()が0を返すとき

あなたが何かに0を分割している、と何かが最初のケースでNaNと第2ケースでInfinityです。このコードを試してみてください:

$(function() { 
    $(window).on("scroll resize", function() { 
     var top = $(window).scrollTop(); 
     var heightDiff = $(document).height() - $(window).height(); 
     var o = top == 0 ? 0 : (top/(heightDiff == 0 ? 1 : heightDiff)); 
     $(".progress-bar").css({ 
      "width": (100 * o) + "%" 
     }); 
     $('progress')[0].value = o; 
    }) 
}); 
+0

同じ事:(http://dimavolkov.ru/error/interview/text.html –

+0

を申し訳ありませんが、私は答えを編集します、あまりに性急だった今私 – nonzaprej

+0

おかげで、。エラーは表示されませんが、スクリプトは正しく動作しません:(正しい例があります:http://хранилище.кодер.укр/posts/demo/progress/index.html –

関連する問題