Rumah > hujung hadapan web > tutorial css > Mengapa Peluncur Julat JavaScript Saya Tidak Berfungsi Apabila Dialihkan dari JSFiddle ke Halaman Luaran?

Mengapa Peluncur Julat JavaScript Saya Tidak Berfungsi Apabila Dialihkan dari JSFiddle ke Halaman Luaran?

DDD
Lepaskan: 2024-12-16 18:21:18
asal
330 orang telah melayarinya

Why Doesn't My JavaScript Range Slider Work When Moved from JSFiddle to an External Page?

Kod JSFiddle Tersandung pada Halaman Luaran

Dalam percubaan untuk memindahkan kod berfungsi daripada JSFiddle ke halaman luaran, pengguna menghadapi tingkah laku yang tidak dijangka apabila komponen JavaScript berhenti berfungsi .

Persediaan Kod

Pengguna memberikan HTML, CSS, dan kod JavaScript:

<body>
Salin selepas log masuk
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;}
Salin selepas log masuk
$('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)'
            + ')'
            ); 
});
Salin selepas log masuk

Akar Isu

Walaupun meletakkan kod ke dalam fail HTML, JavaScript dan CSS halaman luaran, bahagian JavaScript gagal laksanakan.

Wawasan utama datang daripada fakta bahawa JSFiddle meletakkan kod JavaScript pengguna dalam pengendali onload. Oleh itu, kod dilaksanakan hanya selepas keseluruhan halaman dimuatkan. Walau bagaimanapun, dalam halaman luaran, JavaScript diletakkan di , di mana ia dilaksanakan sebelum elemen input telah dihuraikan.

Pemulihan

Untuk membetulkan isu, pengguna boleh gunakan salah satu daripada tiga penyelesaian:

  1. Sisipkan kod dalam muatan atau, sebaik-baiknya, pengendali sedia dokumen, cth.,
$(document).ready(function() {
    // your code here
});
Salin selepas log masuk
  1. Gunakan bentuk ringkas pengendali sedia dokumen:
$(function() {
    // your code here
});
Salin selepas log masuk
  1. Alihkan peletakan teg skrip yang mengandungi Kod JavaScript ke penghujung halaman, membenarkan elemen dihuraikan sebelum kod melaksanakan.

Atas ialah kandungan terperinci Mengapa Peluncur Julat JavaScript Saya Tidak Berfungsi Apabila Dialihkan dari JSFiddle ke Halaman Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan