Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当鼠标悬停在导航链接上时,如何使其动画化?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 当鼠标悬停在导航链接上时,如何使其动画化?

Javascript 当鼠标悬停在导航链接上时,如何使其动画化?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当用户将鼠标悬停在每个链接上时,我会尝试使其动画化,最好的方法是什么 我的代码是 <ul class="nav"> <li><a href="batting.html"class="nav">Batting</a></li> <li><a href="bowling.html"class="nav">Bowling</a><li> <a href="i

当用户将鼠标悬停在每个链接上时,我会尝试使其动画化,最好的方法是什么

我的代码是

    <ul class="nav">
    <li><a href="batting.html"class="nav">Batting</a></li>
    <li><a href="bowling.html"class="nav">Bowling</a><li>
    <a href="index.html"><img class="logo" src="images/logo.gif" width="125" height="125"></a> 
    <li><a href="fielding.html"class="nav">Fielding</a></li>
    <li><a href="game.html"class="nav">The Game</a></li>
    </ul>

谢谢。

是的,可以使用纯HTML标记和CSS在任何元素上添加悬停动画

.animated
{
  transition: prop;
  prop: value1;
}

.animated:hover
{
  prop: value2;
}
其中
prop
是您不希望设置动画的CSS属性。这在大多数浏览器中都非常有效。此外,还可以使用脚本创建此行为

使用您的标记,制作动画的最佳且最简单的无脚本解决方案是使用
:hover
transition
。下面是一个如何设置左边距动画的小技巧:

可以使用数字度量设置任何特性的动画。(12px、12em、12%等)也可以使用非数字属性(即
文本对齐
)添加悬停效果,但不能应用转换。此外,还可以使用
transition
为同一元素上的多个属性设置动画

因此,您可以纯粹使用CSS创建非常丰富的效果。不需要JavaScript<代码>:悬停效果在几乎所有浏览器中都能正常工作,包括Internet Explorer的古老版本。但是,如果您需要支持具有相同动画过渡效果的过时浏览器,则需要使用JavaScript,几乎所有浏览器都支持并启用JavaScript。我建议使用jQuery JavaScript库来简化脚本

根据luckyamit的回答,下面是一个使用jQuery的相同
marginleft
动画的小例子。这在几乎任何web浏览器中都能很好地工作,包括古代版本

$(".nav li").hover(
 function()
 {
     $(this).find("a").stop().animate({"margin-left" : "40px"});
  },
 function()
 {
     $(this).find("a").stop().animate({"margin-left": "5px"});
 }
);
小提琴:


但是,如果您不需要在这些罕见的浏览器中提供相同的体验,我建议使用纯CSS解决方案,因为它的原则是分离标记、样式和逻辑。丰富的转换效果与样式的关系要比与逻辑的关系大得多,所以它们应该用CSS而不是JavaScript来解决。而且,在大多数情况下,CSS更容易实现,也更快。

是的,这可以使用纯HTML标记和CSS在任何元素上添加悬停动画

.animated
{
  transition: prop;
  prop: value1;
}

.animated:hover
{
  prop: value2;
}
其中
prop
是您不希望设置动画的CSS属性。这在大多数浏览器中都非常有效。此外,还可以使用脚本创建此行为

使用您的标记,制作动画的最佳且最简单的无脚本解决方案是使用
:hover
transition
。下面是一个如何设置左边距动画的小技巧:

可以使用数字度量设置任何特性的动画。(12px、12em、12%等)也可以使用非数字属性(即
文本对齐
)添加悬停效果,但不能应用转换。此外,还可以使用
transition
为同一元素上的多个属性设置动画

因此,您可以纯粹使用CSS创建非常丰富的效果。不需要JavaScript<代码>:悬停效果在几乎所有浏览器中都能正常工作,包括Internet Explorer的古老版本。但是,如果您需要支持具有相同动画过渡效果的过时浏览器,则需要使用JavaScript,几乎所有浏览器都支持并启用JavaScript。我建议使用jQuery JavaScript库来简化脚本

根据luckyamit的回答,下面是一个使用jQuery的相同
marginleft
动画的小例子。这在几乎任何web浏览器中都能很好地工作,包括古代版本

$(".nav li").hover(
 function()
 {
     $(this).find("a").stop().animate({"margin-left" : "40px"});
  },
 function()
 {
     $(this).find("a").stop().animate({"margin-left": "5px"});
 }
);
小提琴:

但是,如果您不需要在这些罕见的浏览器中提供相同的体验,我建议使用纯CSS解决方案,因为它的原则是分离标记、样式和逻辑。丰富的转换效果与样式的关系要比与逻辑的关系大得多,所以它们应该用CSS而不是JavaScript来解决。而且,在大多数情况下,CSS更容易、更快地实现

已删除CSS-转换属性中的更改

li {
  background: #555;
  float: left;
  margin-right: 15px;
  text-align: center;
  border: 1px solid #333;
}
li:hover {

}
这里有一个

已删除CSS-转换属性中的更改

li {
  background: #555;
  float: left;
  margin-right: 15px;
  text-align: center;
  border: 1px solid #333;
}
li:hover {

}

您可以使用jQuery尝试下面的一个

$('.nav a').mouseover(函数(){

//在此处添加动画更改

}).mouseout(函数(){

//在此处添加默认行为


})

您可以使用jQuery尝试下面的一个

$('.nav a').mouseover(函数(){

//在此处添加动画更改

}).mouseout(函数(){

//在此处添加默认行为

})试试这个

//HTML

<ul class="nav">
<li><a href="batting.html"class="nav">Batting</a></li>
<li><a href="bowling.html"class="nav">Bowling</a><li>
<a href="index.html"><img class="logo" src="images/logo.gif" width="125" height="125"></a> 
<li><a href="fielding.html"class="nav">Fielding</a></li>
<li><a href="game.html"class="nav">The Game</a></li>
</ul>
//CSS

这是给你的,检查一下。

试试这个

//HTML

<ul class="nav">
<li><a href="batting.html"class="nav">Batting</a></li>
<li><a href="bowling.html"class="nav">Bowling</a><li>
<a href="index.html"><img class="logo" src="images/logo.gif" width="125" height="125"></a> 
<li><a href="fielding.html"class="nav">Fielding</a></li>
<li><a href="game.html"class="nav">The Game</a></li>
</ul>
//CSS


这是给你的,检查一下。

那是标记。不是代码。显示查询代码。给
&
相同的类是不明智的。如果你像这样为
.nav
编写CSS,例如
.nav{background:none;margin left:100px;}
。那是标记。不是代码。显示查询代码。给
相同的类是不明智的。如果你像这样为
.nav
编写CSS会怎么样?例如
.nav{background:none;margin left:100px;}
。如果需要基于脚本的行为,这是一个很好的解决方案,但是如果不需要更改CSS属性以外的任何内容,
:hover
是一个更好的解决方案。这是一个很好的解决方案,如果基于脚本的行为是必要的,但如果不需要更改CSS属性以外的任何内容,
:hover
是一个更好的解决方案。请参阅我的答案。请参阅以使其更具互动性。请参阅以使其更具互动性。