Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Javascript高级鼠标悬停

Javascript高级鼠标悬停
EN

Stack Overflow用户
提问于 2010-12-07 00:35:53
回答 6查看 365关注 0票数 3

有没有可能让元素中的文本颜色与背景反转?

例如:

所以第一个图像是正常状态。第二个是在鼠标悬停期间,最后一个是完成鼠标悬停。

编辑:我想要的背景滑出,每个字符的颜色变化为黑色块“滑动”在它后面。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-12-07 01:35:54

您可以使用CSS转换来实现这一点。这是一个example (在歌剧和Chrome上测试过)。当然,这种方法有几个缺点:

  1. 浏览器必须支持CSS transitions.
  2. It's而不是真正的倒置,你必须设置颜色manually.
  3. Extra

不过,第二个和第三个可以用JavaScript (计算反转颜色并替换innerHTML)来完成。

编辑:作为egarcia said in his answer,您可以使用自定义函数或jQuery对宽度属性进行动画处理,因此第一个缺点可以忽略不计。

票数 3
EN

Stack Overflow用户

发布于 2010-12-07 01:16:29

如果你可以使用额外的标记,你可以不是按字符,而是按像素。

诀窍是创建两个元素;一个将“定期”显示和“鼠标悬停/鼠标悬停”。您还需要包含这两者的内容。如下所示:

代码语言:javascript
运行
AI代码解释
复制
<div id='container'>
 <div id='normal' >Home</div>
 <div id='inverted' style='width:0;'>Home</div>
</div>

容器必须具有position: relative (或绝对)

比如说,normal跨度应该是黑色和白色背景,反转的应该是相反的颜色。

此外,必须绝对定位inverted div,并设置位置,使其左上角与normal重合(可能为0,0)。inverted必须具有overflow: hidden。注意html本身的显式style='width:0;'

代码语言:javascript
运行
AI代码解释
复制
#container { position: relative; }
#normal {
  color: black;
  background-color: white;
}
#inversed {
  color: white;
  background-color: black;
  position: absolute;
  overflow: hidden;
  top: 0;    /* modify top/bottom if needed */
  bottom: 0;
}

现在您唯一需要做的就是编写两个函数: onmouseover和onmouseout。

  • container.Onmouseover会激活一个效果,它会逐渐增加inverted的宽度,直到它达到100%,完全覆盖normal。如果你使用jquery,你可以在一行中创建它,使用animate function.
  • container.Onmouseout会将inverted的宽度重置为0。
票数 3
EN

Stack Overflow用户

发布于 2010-12-07 00:41:58

您将只有初始状态、mouseover事件和mouseout事件

代码语言:javascript
运行
AI代码解释
复制
<div id="item" class="default" onmouseover="this.className='over'" onmouseout='this.className='out'"></div>

或者确保一旦你可以尝试这样做,就会发生这种情况

代码语言:javascript
运行
AI代码解释
复制
<div id="item" class="default" onmouseover="Over(this)" onmouseout="Out(this)">Home</div>

<script type="text/javascript">
    function Over(obj)
    { if (obj.className == "default") obj.className = "over"; }

    function Out(ojb)
    { if (obj.className == "over") obj.className = "out"; }
</script>

并且这些css类中的每一个都将具有反转样式

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4372368

复制
相关文章
JavaScript 鼠标悬停图片,显示隐藏文本
当我们在浏览网页的时候,描述性的文本通常不会跟在图片之后,而是当我们将鼠标移至图片上时,才会将文本显示出来,这样的好处是,以突显图片为主,并节省布局空间
Nian糕
2018/08/21
4.1K0
JavaScript 鼠标悬停图片,显示隐藏文本
JavaScript高级[通俗易懂]
  函数回调的本质:在一个函数中,当满足一定的条件,回调函数会当作调用函数的参数传入
全栈程序员站长
2022/09/06
3400
JavaScript高级
首先更正一个小问题,昨天的JavaScript入门一文中,末尾的“网页换肤”这个小案例的代码插入的有问题,插入的是名片案例的代码,排版不严谨向您致歉,现在补发更正。
小闫同学啊
2019/07/18
1.7K0
JavaScript(高级)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
神葳
2021/01/22
9020
javascript 基础_JavaScript高级编程
1.分类: -基本类型 -String:任意字符串 -Number:任意的数字 -boolean: true/false -undefined:未定义 -null:空
全栈程序员站长
2022/09/24
1.6K0
javascript 基础_JavaScript高级编程
JavaScript高级篇
2.1 var myFun = new Function("参数一","参数二","alert(参数一+参数二);");
编程随想曲
2022/04/21
2130
JavaScript高级(10)
解构代表分解数据结构,赋值指的是为变量赋值,ES6中,允许我们按照一一对应的位置,从数组或者对象当中提取值,再将提取出来的值赋值给变量,解构变量可以让我们更加简便的从数组或者对象当中提取值.
y191024
2022/09/20
3180
JavaScript高级(10)
JavaScript 高级函数
用 reduce 则用 很少 的代码解决,尤其是采用了 ==es6== 语法后,更加简单
Karl Du
2020/10/23
3500
JavaScript高级(4)
我们也可以简单的认为类就是构造函数的另外一种写法,通过验证,构造函数能实现的在类里也能实现
y191024
2022/09/20
2550
JavaScript高级(4)
JavaScript高级技巧
以上代码要返回true,value必须是一个数组,而且还必须与Array构造函数在同个全局作用域中。(Array是window的属性)如果value是在另外一个iframe中定义的数组,上述代码则返回false。 注意:BOM的核心对象时window,它表示浏览器的一个实例。在浏览器中,window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的global对象。 解决上述问题: Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式的字符串。
奋飛
2019/08/15
1.1K0
JavaScript高级(7)
如果一个函数在内部可以调用自己本身, 那么这个函数就是递归函数,就是自己调用自己
y191024
2022/09/20
1910
JavaScript高级(7)
JavaScript高级(6)
JavaScript除了提供正常模式外,还提供了严格模式.ES5的严格模式是采用具有限制性JavaScript变体的一种方式,即在严格的条件下运行JS代码
y191024
2022/09/20
2820
JavaScript高级(6)
js高级技巧_JavaScript高级程序
以上代码要返回true,value必须是一个数组,而且还必须与Array构造函数在同个全局作用域中。(Array是window的属性)如果value是在另外一个iframe中定义的数组,上述代码则返回false。 注意:BOM的核心对象时window,它表示浏览器的一个实例。在浏览器中,window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的global对象。 解决上述问题: Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式的字符串。
全栈程序员站长
2022/09/24
4K0
js高级技巧_JavaScript高级程序
JavaScript高级知识总结(高级篇)[通俗易懂]
-基本类型 -String:任意字符串 -Number:任意的数字 -boolean: true/false -undefined:未定义 -null:空
全栈程序员站长
2022/11/17
1.7K0
JavaScript高级知识总结(高级篇)[通俗易懂]
《现代Javascript高级教程》JavaScript数组
在JavaScript中,数组(Array)是一种重要且广泛应用的数据结构,用于存储和操作一组有序的数据。JavaScript提供了丰富的数组方法和属性,使我们能够方便地对数组进行增删改查等操作。本文将详细介绍JavaScript数组的方法API、属性,并探讨如何模拟实现数组的API。此外,还将介绍数组的应用场景,帮助读者更好地理解和应用数组。
linwu
2023/07/31
2170
javascript 高级教程 视频_精通JavaScript
完整的 JavaScript 实现是由以下 3 个不同部分组成的:ECMAScript、文档对象模型、浏览器对象模型。
全栈程序员站长
2022/09/23
2900
《现代Javascript高级教程》JavaScript对象
在 JavaScript 中,对象是一种非常重要的数据类型,它允许我们以键值对的形式组织和存储数据。对象提供了丰富的属性和方法,使得我们能够创建、操作和管理复杂的数据结构。本文将详细介绍 JavaScript 对象的属性和常用 API,并提供一个模拟实现对象的示例。同时,还将探讨对象的应用场景和一些相关的参考资料。
linwu
2023/07/27
2360
JavaScript——DOM事件高级
此方法将指定的监听器注册到eventTarger(目标对象)上,当该对象触发指定的事件时,就会执行事件处理函数。
岳泽以
2022/10/26
1.8K0
JavaScript——DOM事件高级
鼠标悬停按钮
  前端的学习不是一蹴而就,不积跬步无以至千里,不积小流无以成江海。持续不断的努力才能让你我有所收获,专业的知识还得到机构去学习,培训机构的设立有其存在的必然性,你钱花对了吗?
我不是费圆
2020/12/17
2K0
《现代Javascript高级教程》JavaScript作用域
在 JavaScript 中,作用域是指变量在代码中可访问的范围。理解 JavaScript 的作用域和作用域链对于编写高质量的代码至关重要。本文将详细介绍 JavaScript 中的词法作用域、作用域链和闭包的概念,并探讨它们在实际开发中的应用场景。
linwu
2023/07/27
1910

相似问题

javascript JSON高级

23

JavaScript鼠标悬停

10

Javascript数组。高级

20

高级javascript指南

60

JavaScript、高级.replace()

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档