Saya telah melakukan bahagian menambah ID div pada url, tetapi saya tidak boleh mengalih keluarnya selepas mengklik butang tutup dalam ini speaker--card
div 中的类 speakers--overlay-close
.
var myDivs = document.getElementsByClassName('speakers--card'); var closeDiv = document.getElementsByClassName('speakers--overlay-close'); for(var i = 0; i < myDivs.length; i++) { myDivs[i].addEventListener('click', function (event) { console.log(this.getAttribute("id")); let thisID = this.getAttribute("id"); window.location.href = window.location.href + "#" + thisID; }); }
Saya telah menguji beberapa fungsi split dll tetapi ia tidak berfungsi dan url tetap sama - gunakan #
+ id
.
Saya akhirnya melakukan sesuatu seperti ini, tetapi tidak pasti sama ada ini cara yang betul:
Memandangkan butang tutup berada di dalam div, apabila anda mengkliknya, acara merambat dan menjalankan pengendali acara klik div, yang sekali lagi menambah cincang. Anda boleh menghentikan penyebaran acara dengan memanggil
event.stopPropagation()
dalam pengendali acara butang tutup dan kemudian alih keluar cincang daripada url.