js鼠标悬停事件

JavaScript013

js鼠标悬停事件,第1张

第一:js进行鼠标悬停事件来处理DOM实际上是不合理的。对于界面交互上能通过css处理的事件就不要用js来处理;

第二:恰好css对于鼠标悬停是有对应的选择器及其处理;

处理方法:如图A:

假设A的id为a,css代码如下:

#a{

    width:100px

    height:36px

    float:left

}

//对于位置的固定可以自行选择处理,当前用float固定。

#a:hover{

    width:200px

}

结果将会如你图中所需要的完成。

如必须用JS处理的话,代码如下:

//既定a的样式已明确:

//html代码:

<span id='a' onmouseover="fc1(this)"

 onmouseout="fc2(this)"></span>

<script>

    function fc1(node){

        node.style.width = '200px'

    }

    function fc2(node){

        node.style.width = '100px'

    }

</script>

举个粟子,写一个段落“鼠标悬停时把字体颜色变成红色,背景颜色变成灰色,离开时恢复”:

代码如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>会变色的段落</title>

<script>

function chfgcolor(){

var e=document.getElementById("demo")

e.style.color="red"

}

function chbgcolor(){

var e=document.getElementById("demo")

e.style["background-color"]="grey"

}

function chback(){

var e=document.getElementById("demo")

e.style="color:#000000background-color:#ffffff"

}

</script>

</head>

<body>

<p id="demo" onmouseover="chfgcolor()chbgcolor()" onmouseout="chback()">这是一会变色的段落</p>

</body>

</html>

以下是运行效果截图:

代码截图

悬停前和离开后

动图

代码说明:这里面确实一次为这个段落创建了两个事件,都是DOM通用的事件,一个叫mouseover(鼠标悬停),一个叫mouseout(鼠标离开),mouseover事件触发时要用到2个函数(function), 分别是chfgcolor和chbgcolor, 而mouseout只用到1个chback函数。

还有,事件触发时会运行一些东西,但是不一定是函数。