javascript - 鼠标悬停时更改字体,第二次悬停时恢复字体

标签 javascript css fonts mouseover

我正在寻找一种方法来在将鼠标悬停在单个字母上时更改它们的字体。我希望当您第二次将鼠标悬停在单个字母上时(而不是第一次将鼠标移开时),它们会变回其原始字体。

非常感谢任何帮助!

最佳答案

通过使用类列表

Documentation

Browser support

var elLi = document.querySelectorAll('li');

for (var i = 0; i < elLi.length; i++){
  elLi[i].onmouseover = function(){
    this.classList.toggle("times");
  }
}
body {
  font-family: 'Arial';
}
li {
  margin: 10px 0;
}
.times {
  font-family: 'Times';
}
<ul>
  <li>Text 1</li>
  <li>Text 2</li>
</ul>

没有类列表

var elLi = document.querySelectorAll('li');

for (var i = 0; i < elLi.length; i++){
  elLi[i].onmouseover = function(){
    if (hasClass(this, 'times')) {
    	this.className = "";
      // Remove class
    } else {
      // Add class
      this.className = "times";
    }
  }
}

function hasClass( target, className ) {
    return new RegExp('(\\s|^)' + className + '(\\s|$)').test(target.className);
}
body {
  font-family: 'Arial';
}
li {
  margin: 10px 0;
}
.times {
  font-family: 'Times';
}
<ul>
  <li>Text 1</li>
  <li>Text 2</li>
</ul>

关于javascript - 鼠标悬停时更改字体,第二次悬停时恢复字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40332531/

相关文章:

javascript - 检查数组中的所有值是否都等于特定文本

css - 使用 Bootstrap CSS。有问题 - 我更改了我的类(class)名称,但它不再有效

css - Div 在添加元素时移动一个 div

html - 如何在链接到 shadowbox vimeo 视频的缩略图上叠加播放按钮 png

java - Eclipse Indigo 字体已更改

java - 在 JTable 中显示 Emoji 字符

ios - 在界面生成器中使用自定义字体

javascript - 生成数组数组

javascript - 两个选项卡如何在浏览器内通信?

javascript - 在 Redux 的 javascript 中包装容器方法的优雅方式