- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先,我必须说我处于非常基础的编程水平。这些问题的答案对某些人来说可能非常明显,但我就是想不出一种方法将所有这些放在一起。提前致谢。
我有这个 HTML 代码:
<div id="vectores" class="categoria" onclick="this.style.color='#000'; this.style.textDecoration='underline'; mostraVectores('vectores0','vectores')" onmouseover="this.style.color='#000'; this.style.textDecoration='underline'" onmouseout="this.style.color='#999'; this.style.textDecoration='none'">Tema 1. Mecánica vectorial</div>
<div id="vectores0" class="subcategoria"></div>
我在这里使用“onclick”来使样式的更改“永久”,因为我希望它成为一个“菜单选项”,并且我希望它触发功能,但也改变它的外观,以便它可以很容易得知是否已被选中。我使用“onmouseover”让用户始终知道指针“即将选择”什么(菜单有更多选项)。
问题似乎是他们无法一起工作。我想这只是因为一旦通过 'onmouseover' 设置了新样式,如果第二个事件 (onclick) 要求,编译器就不会再次为 div 设置相同的样式。
这是该类的 CSS 代码:
.categoria{
color:#999;
font-weight:bold;
padding:2px;
padding-left:10px;
cursor:pointer;
}
然后我想使用单独的 javascript 页面和如下功能来“永久”更改样式:
function mostraVectores(cosa1,cosa2){
document.getElementById(cosa1).style.display="block";
document.getElementById('equilibrio').style.color="#999";
document.getElementById('estructuras').style.color="#999";
document.getElementById('centros').style.color="#999";
document.getElementById('momento').style.color="#999";
document.getElementById('inercia').style.color="#999";
document.getElementById('rozamiento').style.color="#999";
document.getElementById('equilibrio').style.textDecoration="none";
document.getElementById('estructuras').style.textDecoration="none";
document.getElementById('centros').style.textDecoration="none";
document.getElementById('momento').style.textDecoration="none";
document.getElementById('inercia').style.textDecoration="none";
document.getElementById('rozamiento').style.textDecoration="none";
document.getElementById(cosa2).style.color="#000";
document.getElementById(cosa2).style.textDecoration="underline";
}
正如你所看到的,这里还有其他“菜单选项”,我想将它们变成灰色并且没有下划线(因为它们最初是根据CSS),以防这个函数在其他函数之后执行,这样当用户从一个主题切换到另一个主题时,他不会以两个“类似选择”的菜单选项结束。问题是,通过这种方式“重置”样式,div 中的“onmouseover/onmouseout”将停止工作。
如何解决这个问题?
最佳答案
您需要的方法是使用 CSS :hover
并在单击时分配一个类。
<div id="vectores" class="categoria" onclick="mostraVectores('vectores0','vectores')">Tema 1. Mecánica vectorial</div>
<div id="vectores0" class="subcategoria"></div>
.categoria {
color: #999;
font-weight: bold;
padding: 2px;
padding-left: 10px;
cursor: pointer;
}
.categoria:hover { /* This is applied on mouseover and removed on mouseout */
color: #000;
text-decoration: underline;
}
.categoria.active { /* Not sure what you want when clicked */
color: #900;
text-decoration: underline;
}
function mostraVectores(cosa1,cosa2){
//add this to your function
this.className += " active";
关于javascript - 为什么 onmouseover 和 onclick 不能一起设置 div 样式以及如何重置 onclick 设置样式而不丢失 onmouseover 的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19512545/
有人可以帮我让 onmoseover 事件保持显示: block 吗?行为,直到我将鼠标悬停在不同的事件上?换句话说,我想保持一个事件可见,直到我将鼠标悬停在另一个事件上。我填写的答案很简单。我刚接触
应该很容易,但我无法让它工作。如标题中所述,我想将 onmouseover 的背景颜色从 span.name(橙色)更改为 T E S T 我找到了这个但是
我一直致力于在Java脚本中创建一种摆动效果,这样当鼠标移动到一些对象上时,它们会慢慢地保持悬停,直到它们停止。。我已经在JSFdle中实现了这一点:http://jsfiddle.net/z3s7v
首先,我必须说我处于非常基础的编程水平。这些问题的答案对某些人来说可能非常明显,但我就是想不出一种方法将所有这些放在一起。提前致谢。 我有这个 HTML 代码: Tema 1. Mecá
在第二个(右/bing)表条目中,我理解为什么从图像悬停到“bing”字符串可能会导致 bingfn()被解雇。 但是第一个(左/谷歌)表有 onmouseover在 ,因此我预计从图像悬停到文本并
DivElement collectWoodHover = querySelector("#collectWood"); if (collectWoodHover.onMouseOver == tru
我正在尝试制作一些东西,当您滚动图像的某个部分时,会使用 onmouseenter 和 onmouseleave 功能播放不同的歌曲。它适用于第一个图像映射,但由于某种原因,它不适用于第二个图像映射,
我目前正在学习使用java脚本,遇到了一个我无法解决的问题。为了练习,我在一个简单的 HTM 中编写了一个修改 div 上边距的脚本: var boton = (function () { var t
我正在使用 jQuery 1.7.2,我想做的是在一个 div 上触发 onmouseover (使用类 active),但在 onmouseout 上触发 将该类更改为 inactive,并将第二个
页面加载后,如果您检查控制台,您会看到该函数在我将鼠标悬停在元素上之前触发。如果我删除参数,则页面会等待我将鼠标悬停在元素上,但我会失去动态功能。我在传递元素时做错了什么吗? var myList =
如何定义 onmouseover 函数的特定持续时间? 例如,在元素悬停 500 毫秒后,onmouseover 开始运行(因此,如果用户停留时间不超过 500 毫秒,onmouseover 不会运行
我尝试做这样的事情: 当我将鼠标悬停在按钮上时,文本应该消失,当我鼠标移开时,文本应该再次显示.. 这是我的样本jsfiddle Request
我的计时器是通过 onmouseover 函数激活的。 我的 CSS 动画在 15 秒后完成,但我的计时器没有完成。每次鼠标悬停后,时间都会重新激活,而不是按时间倒计时。 Hover this tex
我正在使用 angularjs和谷歌柱形图以图表形式显示数据。当数据更多时,我显示带有水平滚动条的图表。滚动条打开时工具提示出现问题。 请查找演示 here . 当鼠标悬停在条形图上时,它会在工具提示
我需要一个脚本,它将应用于围绕一个圆圈的一组图像.. 现在通过脚本需要的是 在圆圈周围的鼠标悬停图像上应该放大并移动到中心。 如何使用 Javascript 和 CSS 做到这一点。 请具体说说CSS
我正在使用 PHP 创建在线购物网站。我正在使用 Bootstrap 来设计我的网站。我的问题是鼠标悬停显示添加购物车按钮和折扣图片。 这是我的代码 .jpg" alt="produc
我正在尝试将此背景更改器从 编辑后删除 实现到我的个人博客,该博客仅驻留在我的计算机上(未上传到互联网),但我不知道 js 是什么因为它是?我将如何将它添加到我的博客中?我知道有: 在 html 文
这是一个幻灯片功能,鼠标悬停我想让它停止。它没有在鼠标悬停时停止幻灯片放映,而是加快了速度??我如何更正此问题以停止鼠标悬停? function nextslide() { // Hide
是否可以使用 JavaScript 在每个选择的下拉菜单上添加悬停消息? 我会使用类似 document.getElementById('name_of_html_id') 的东西,然后是四个选项之一
我正在尝试将段落堆叠在一起。当我将鼠标悬停时,我希望显示该特定段落。但是我收到错误: 未捕获的 ReferenceError:分配中的左侧无效 JS: var topLayer = "p3"; fun
我是一名优秀的程序员,十分优秀!