let flag =true; $(document).on("click",'.span', function(){ $(this)[0].style.boxShadow='0 0 5px #ccc' let length = $('.topicindex .index').length ; let start = $(this)[0].className[0]; if (start == 'mainindex'){ window.localStorage.a=0 init(window.localStorage.name); start =0; }else{ start = +start -1 } for (let i=start;i<length;i++){ setTimeout($('.topicindex .'+i)[0].remove(),3000); index-- } let name = $('.topicindex span')[$('.topicindex span').length-1]; title.innerText = $('.topicindex span')[$('.topicindex span').length - 1].innerText + '图谱可视化展示'; let nodeId = $('.topicindex span')[$('.topicindex span').length-1].getAttribute('nodeId'); if(nodeId){ thirdLayer(name, nodeId); }else{ window.localStorage.a=0 init(window.localStorage.name); // index =0; // flag=false; // start =1; } }
时间: 2024-04-15 17:25:09 浏览: 105
这段代码是一个点击事件的处理函数。
首先,它定义了一个布尔变量 `flag` 并将其设置为 `true`。
然后,通过 `$(document).on("click", '.span', function(){...})` 绑定了一个点击事件监听器在整个文档上,当点击类名为 "span" 的元素时触发回调函数。
在回调函数中,首先设置被点击的元素的阴影效果为 `boxShadow='0 0 5px #ccc'`。
接着,它获取了类名为 "index" 的元素的数量,并将结果赋值给变量 `length`。
然后,它获取了被点击元素的类名的第一个字符,并将其赋值给变量 `start`。
如果 `start` 是以 "mainindex" 开头,那么将本地存储的变量 `a` 设置为 0,并调用 `init()` 函数,并传入本地存储的变量 `name`。
否则,将 `start` 转换为数字,并减去 1。
接下来,它使用一个循环,从 `start` 开始到数组 `length` 的结束,依次执行以下操作:
- 使用 `setTimeout()` 函数延迟 3000 毫秒后执行以下操作。
- 移除类名为 `'topicindex ' + i` 的元素。
- 将变量 `index` 减一。
接着,它获取了类名为 "topicindex" 的最后一个 `<span>` 元素,并将其赋值给变量 `name`。
它还通过 `innerText` 属性将变量 `title` 的文本内容设置为类名为 "topicindex" 的最后一个 `<span>` 元素的文本内容加上字符串 "图谱可视化展示"。
然后,它获取了类名为 "topicindex" 的最后一个 `<span>` 元素的 `nodeId` 属性,并将其赋值给变量 `nodeId`。
如果 `nodeId` 存在,则调用 `thirdLayer()` 函数,并传入变量 `name` 和 `nodeId`。
否则,将本地存储的变量 `a` 设置为 0,并调用 `init()` 函数,并传入本地存储的变量 `name`。
综上所述,这段代码实现了一个点击事件处理函数,用于根据点击的元素进行一系列操作,包括删除元素、设置样式、更新标题等。
阅读全文