Dalam soalan yang diberikan, pengguna mengalami masalah dengan laluan imej dalam fail JavaScript luaran apabila digunakan ke direktori maya . Walaupun laluan berfungsi dengan baik dalam persekitaran pembangunan setempat, laluan tersebut gagal apabila digunakan menggunakan '../' atau laluan mutlak seperti '/Images/filters_collapse.jpg'.
Pemahaman utama di sini ialah laluan dalam external . js adalah relatif kepada halaman yang ia disertakan. Oleh itu, pengguna harus menggunakan laluan relatif kepada halaman tempat fail JavaScript dirujuk, bukannya lokasi sebenar fail .js.
Sebagai penyelesaian, pengguna boleh mencipta pembolehubah JavaScript yang menentukan imej laluan, seperti:
var imagePath = '../Images/';
Dengan menggunakan pembolehubah ini, pengguna boleh memastikan bahawa laluan imej diselesaikan dengan betul tanpa mengira lokasi fail JavaScript luaran. Sebagai contoh, kod di bawah akan menggunakan pembolehubah untuk menetapkan imej latar belakang elemen:
$("#toggle").click(function() { if (left.width() > 0) { AnimateNav(left, right, 0); $(this).css("background", "url(" + imagePath + "filters_expand.jpg")"); } else { AnimateNav(left, right, 170); $(this).css("background", "url(" + imagePath + "filters_collapse.jpg")"); } });
Atas ialah kandungan terperinci Mengapa Laluan Imej Relatif Saya Dipecahkan dalam Fail JavaScript Luaran Selepas Penggunaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!