javascript - 将鼠标悬停在关键字上会导致句子/段落中的某些单词发光

标签 javascript html css

我想要一个像“我喜欢每天骑自行车”这样的句子/段落。等等,段落上方应该有类别:“名词”,“动词”等。当用户将鼠标悬停在“名词”上时,它应该使“自行车”和“天”发光并悬停在“动词”上应该是“喜欢”和“骑”。我认为也许这可以通过将类设置为“名词”或“动词”以及某种 CSS 和/或 JS 的特定单词周围的 span 标签来完成。谁能帮忙?

需要说明的是,这就是我所说的。

Nouns - Verbs

I like to ride my bicycle every day.

最佳答案

试试下面的代码。我希望它有助于获得基本想法

function selectWords(name) {
    let words = document.getElementById("words").children;
    for (let i = 0; i < words.length; i++) {
        if (words[i].className === name) {
            words[i].classList.add("selected");
        } else {
            words[i].classList.remove("selected");
        }
    }
}

let selects = document.getElementsByClassName("select");

for (let i = 0; i < selects.length; i++) {
    selects[i].addEventListener("mouseenter", function() {
        selectWords(this.dataset.words);
    });
    selects[i].addEventListener("mouseleave", function() {
        selectWords("empty");
    });
}
.selected {text-shadow: 1px 1px 1px red}
<div id="words"><span>I</span> <span class="verb">like</span> <span class="verb">to ride</span> <span>my</span> <span class="noun">bicycle</span> <span>every</span> <span class="noun">day</span></div> 
<div class="select" data-words="noun">Nouns</div>
<div class="select" data-words="verb">Verbs</div>

关于javascript - 将鼠标悬停在关键字上会导致句子/段落中的某些单词发光,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48363166/

相关文章:

javascript - 将多个变量传递到另一个页面

javascript - 在 JavaScript 中操作父标签

javascript - undefined index 错误 - 如何设置折扣后的最后金额?

javascript - html5 Canvas toDataURL 返回空白图像

javascript - 如何在加载和显示没有任何样式的页面后加载样式表

android - 边框半径不适用于某些安卓手机

javascript - vue.js : can't access to router parameters from computed property

javascript - 在 JavaScript 中,当我们实例化派生对象时,原型(prototype)的函数隐藏在哪里?

javascript - 如何添加淡入淡出效果

python - Scrapy 元素声明中的 IF 语句