gpt4 book ai didi

javascript - JavaScript 中的手动悬停功能

转载 作者:行者123 更新时间:2023-12-02 15:07:12 24 4
gpt4 key购买 nike

我不知道出了什么问题,但即使我没有将鼠标悬停在按钮上,我在这里编写的悬停功能也会保留。我知道有更简单的方法来悬停对象,但我正在学习基础知识,因此了解我所拥有的确切代码有什么问题将很有帮助。

<head>
<style>
.tabStrip {
background-color: #E4E2D5;
padding: 15px;
height: 22px;
width: 130px;
margin: auto;
}

.tabStrip div {
float: left;
font: 14px arial;
cursor: pointer;
}

.tabStrip-tab {
padding: 5px;
}

.tabStrip-tab-hover {
border: 1px solid #316AC5;
background-color: #C1D2EE;
padding: 4px;
}

.tabStrip-tab-click {
border: 1px solid #facc5a;
background-color: #f9e391;
padding: 4px;
}
</style>

</head>


<body>

<div class="tabStrip">
<div data-tab-number="1" class="tabStrip-tab">Tab1</div>
<div data-tab-number="2" class="tabStrip-tab">Tab2</div>
<div data-tab-number="3" class="tabStrip-tab">Tab3</div>
</div>

<div id="descContainer"></div>

<script>
function handleEvent(e) {
var target = e.target;
switch (e.type) {
case 'mouseover':
if (target.className == 'tabStrip-tab') {
target.className = 'tabStrip-tab-hover';
}
break;
case 'mouseout':
if (targer.className == 'tabStrip-tab-hover') {
targer.className = 'tabStrip-tab';
}
break;
case 'click':
if (target.className == 'tabStrip-tab-hover') {
target.className = 'tabStrip-tab-click';
var num = target.getAttribute('data-tab-number');
showDescription(num);
}
break;
}
}

function showDescription(num) {
var descContainer = document.getElementById('descContainer')
var text = 'description for tab ' + num;
descContainer.innerHTML = text;
}

document.addEventListener('mouseover', handleEvent);
document.addEventListener('mouseout', handleEvent);
document.addEventListener('click', handleEvent);
</script>

</body>

最佳答案

问题似乎是您在 javascript 中将 target 错误拼写为 targer

正确:

function handleEvent(e) {
var target = e.target;
switch (e.type) {
case 'mouseover':
if (target.className == 'tabStrip-tab') {
target.className = 'tabStrip-tab-hover';
}
break;
case 'mouseout':
if (target.className == 'tabStrip-tab-hover') {
target.className = 'tabStrip-tab';
}
break;
case 'click':
if (target.className == 'tabStrip-tab-hover') {
target.className = 'tabStrip-tab-click';
var num = target.getAttribute('data-tab-number');
showDescription(num);
}
break;
}
}

Codepen of it working correctly

关于javascript - JavaScript 中的手动悬停功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35041675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com