ホームページ >ウェブフロントエンド >CSSチュートリアル >JSFiddle から外部ページに移動すると、JavaScript レンジ スライダーが機能しないのはなぜですか?
機能コードを JSFiddle から外部ページに移行しようとすると、JavaScript コンポーネントが機能しなくなる予期しない動作が発生します。 .
ユーザーは次の HTML を提供しました。 CSS、および JavaScript コード:
<body>
input[type="range"]{ -webkit-appearance: none; -moz-apperance: none; border-radius: 6px; width: 225px; height: 6px; border: 2px solid #eceef1; outline:none; background-image: -webkit-gradient( linear, left top, right top, color-stop(0.15, #eceef1), color-stop(0.15, #0c0d17) ); } input[type='range']::-webkit-slider-thumb { -webkit-appearance: none !important; background-color: #1ec2c5; border: 3px solid #000000; height: 25px; width: 25px; border-radius: 20px;}
$('input[type="range"]').change(function () { var val = ($(this).val() - $(this).attr('min')) / ($(this).attr('max') - $(this).attr('min')); $(this).css('background-image', '-webkit-gradient(linear, left top, right top, ' + 'color-stop(' + val + ', #eceef1), ' + 'color-stop(' + val + ', #0c0d17)' + ')' ); });
コードを外部ページの HTML、JavaScript、CSS ファイルに配置したにもかかわらず、JavaScript 部分実行に失敗しました。
重要な洞察は、JSFiddle がユーザーの JavaScript コードを配置するという事実から得られました。 onload ハンドラー内で。したがって、コードはページ全体がロードされた後にのみ実行されます。ただし、外部ページでは JavaScript が
に配置されており、入力要素が解析される前に実行されます。この問題を修正するには、ユーザーは次のことを行うことができます。次の 3 つの解決策のいずれかを採用します。
$(document).ready(function() { // your code here });
$(function() { // your code here });
以上がJSFiddle から外部ページに移動すると、JavaScript レンジ スライダーが機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。