Javascript 如何处理mouseenter上的元素?

Javascript 如何处理mouseenter上的元素?,javascript,php,mouseenter,Javascript,Php,Mouseenter,如何在鼠标输入时执行某些操作?如下面代码所示 for(x=1; isset($_COOKIE["link$x"]); $x++) echo <div id="'.$x.'" OnMouseEnter="myfunction('.$x.')"> } onmouseenter特定于IE,因此使用onmouseover: myElement.onmouseover = function() { document.getElementById(which).styl

如何在鼠标输入时执行某些操作?如下面代码所示

for(x=1; isset($_COOKIE["link$x"]); $x++)
    echo <div id="'.$x.'" OnMouseEnter="myfunction('.$x.')">
}    

onmouseenter
特定于IE,因此使用
onmouseover

myElement.onmouseover = function()
{
    document.getElementById(which).style.backgroundColor = 'red';
}

是的,就这么简单。。。请注意,我将
red
更改为
'red'
,因为我认为您没有定义red。这是如何在Javascript中实现的,尽管使用
在CSS中实现要简单得多:hover
,但您需要的是Javascript。

onmouseinter
是特定于IE的,所以使用
onmouseover

myElement.onmouseover = function()
{
    document.getElementById(which).style.backgroundColor = 'red';
}

是的,就这么简单。。。请注意,我将
red
更改为
'red'
,因为我认为您没有定义red。这是如何在Javascript中实现的,尽管使用
:hover
在CSS中实现要简单得多,但您需要的是Javascript。

如果您只想在鼠标上方应用样式,您不需要Javascript。CSS
:hover
伪选择器应该可以正常工作:

#元素ID{
背景:白色;
}
#elementId:悬停{
背景:红色;
}

如果您只想在鼠标上方应用样式,则不需要JavaScript。CSS
:hover
伪选择器应该可以正常工作:

#元素ID{
背景:白色;
}
#elementId:悬停{
背景:红色;
}

你甚至不必走那么远

您可以使用:hover伪类简单方便地完成这项工作

在css中创建两个规则

.myHoverDiv
{
  /* any styles you need here that show when not hovered over */
}

.myHoverDiv:hover
{
  /* any styles here that should change when the mouse hovers over it */
  background-color: red;
}
然后在标签上使用

<div class="myHoverDiv"> ... div inner contents here ... </div>
。。。div内部内容在这里。。。

当鼠标悬停在div上时,div的样式将如预期的那样发生变化

您甚至不必走那么远

您可以使用:hover伪类简单方便地完成这项工作

在css中创建两个规则

.myHoverDiv
{
  /* any styles you need here that show when not hovered over */
}

.myHoverDiv:hover
{
  /* any styles here that should change when the mouse hovers over it */
  background-color: red;
}
然后在标签上使用

<div class="myHoverDiv"> ... div inner contents here ... </div>
。。。div内部内容在这里。。。

当鼠标悬停在div上时,div的样式将按预期发生变化

正如kumar_v所问,我想你应该使用“OnMouseOver”而不是“onmouseinter”来获得“悬停”效果

因此,您的PHP代码应该如下所示:

for($x=1; isset($_COOKIE["link$x"]); $x++) {
    echo '<div id="'.$x.'" OnMouseOver="myfunction('.$x.')">test</div>';
}

正如库马鲁夫所问,我想你应该使用“OnMouseOver”而不是“onmouseinter”来获得“悬停”效果

因此,您的PHP代码应该如下所示:

for($x=1; isset($_COOKIE["link$x"]); $x++) {
    echo '<div id="'.$x.'" OnMouseOver="myfunction('.$x.')">test</div>';
}

最好在一个块中处理javascript,我建议您制作一个处理程序来处理,如果您使用常见的javascript库(如和),这将变得非常容易处理和调试,请记住将jQuery库添加到页面的开头

服务器端:

echo '<div id="handler_id">';
for(x=1; isset($_COOKIE["link$x"]); $x++)
    echo <div id="'.$x.'">
}
echo '</div>';

最好在一个块中处理javascript,我建议您制作一个处理程序来处理,如果您使用常见的javascript库(如和),这将变得非常容易处理和调试,请记住将jQuery库添加到页面的开头

服务器端:

echo '<div id="handler_id">';
for(x=1; isset($_COOKIE["link$x"]); $x++)
    echo <div id="'.$x.'">
}
echo '</div>';

很抱歉混淆了标题,我的意思是像jQuery mouseenter一样的mouseenter Wait,您想调用函数还是更改样式?有任何答案有效吗?很抱歉混淆了标题,我的意思是像jQuery mouseenter Wait一样的mouseenter,您想调用函数吗,或者改变一种风格?有任何答案有效吗?
:hover
似乎与
mouseenter
不一样。我先尝试了一下,但后来我意识到我需要改变另一个我没有悬停的元素,javascript非常简化,我现在就编辑它。
:hover
似乎与
mouseenter
不一样。我先尝试了这个,但后来我意识到我需要更改另一个我不悬停的元素,javascript简化得很糟糕,我现在就编辑它。这很好,但当我把鼠标移到外面时,我希望它像以前一样回来,如果没有红色背景,那么您还必须在-元素中写入类似内容:
OnMouseOut=“myfunction\u out('.$x.)”
和函数
myfunction\u out(which){document.getElementById(which).style.backgroundColor=“”;}
或您选择的默认颜色这非常好,但是当我把鼠标移到外面时,我希望它像以前一样返回,没有红色背景,那么你也必须在你的-元素中写入类似的内容:
OnMouseOut=“myfunction\u out('.$x.)”
和函数
myfunction\u out(which){document.getElementById(which).style.backgroundColor=“;”}
或您选择的默认颜色