单击后将 div 的 ID 添加到 url,然后单击关闭 btn 后将其从 url 中删除
P粉676821490
P粉676821490 2024-04-01 11:46:38
0
2
463

我已经完成了将 div 的 ID 添加到 url 的部分,但在单击此 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;
        });
    }

我已经测试了一些分割函数等,但它不起作用,并且 url 保持不变 - 使用 # id

P粉676821490
P粉676821490

全部回复(2)
P粉184747536

我最终做了这样的事情,但不确定这是否是正确的方法:

var myDivs = document.getElementsByClassName('speakers--card');
var closeDivs = document.getElementsByClassName('speakers--overlay-close');

for(var i = 0; i 
P粉376738875

由于关闭按钮位于 div 内部,因此当您单击它时,事件会传播并运行 div 的单击事件处理程序,该处理程序再次添加哈希值。您可以通过在关闭按钮事件处理程序中调用 event.stopPropagation() 来停止事件传播,然后从 url 中删除哈希值。

var myDivs = document.getElementsByClassName('speakers--card');
var closeDiv = document.getElementsByClassName('speakers--overlay-close');

for (var i = 0; i 
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板