如何在MouseOver上动画CSS动画汉堡包图标 [英] How To Animate CSS Animated Hamburger Icon On MouseOver

查看:110
本文介绍了如何在MouseOver上动画CSS动画汉堡包图标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 http://elijahmanor.com/上有一个动画CSS汉堡包图标css-animated-hamburger-icon / ,我想要使用它,但我想通过悬停来查看设置前(X),而不是悬停时将其设置为3行的默认样式。但我不能这样做,即使我使用悬停功能。


$ b

document.querySelector( #nav-toggle).addEventListener(click,function(){this.classList.toggle(active);});

 #nav-toggle {position:absolute;剩下:50%; top:50%;}#nav-toggle {cursor:pointer; padding:10px 35px 16px 0px;}#nav-toggle span,#nav-toggle span:before,#nav-toggle span:after {cursor:pointer; border-radius:1px; height:5px;宽度:35px;背景:黑色;位置:绝对;显示:块; content:'';}#nav-toggle span:before {top:-10px;}#nav-toggle span:after {bottom:-10px;}#nav-toggle span,#nav-toggle span:before,#nav -toggle span:{transition:all 500ms ease-in-out;}#nav-toggle.active span {background-color:transparent;}#nav-toggle.active span:before,#nav-toggle.active span:在{top:0;}之后#nav-toggle.active span:before {transform:rotate(45deg);}#nav-toggle.active span:{transform:rotate(-45deg);}  

< a id =nav-togglehref =#><<< ; span>< / span>< / a>

>解决方案

悬停事件称为 mouseover


事件名称是传统的 HTML DOM事件,只是没有
打开前缀。例如,使用 mouseover 而不是 onmouseover


  document.querySelector(#nav-toggle).addEventListener(mouseover,function(){this.classList.toggle(active);}) ;  

#nav-toggle {position:absolute;剩下:50%;顶部:50%; }#nav-toggle {cursor:pointer; padding:10px 35px 16px 0px; }#nav-toggle span,#nav-toggle span:before,#nav-toggle span:after {cursor:pointer; border-radius:1px; height:5px;宽度:35px;背景:黑色;位置:绝对;显示:块; content:'';}#nav-toggle span:before {top:-10px; }#nav-toggle span:after {bottom:-10px;}#nav-toggle span,#nav-toggle span:before,#nav-toggle span:after {transition:all 500ms ease-in-out;}#nav -toggle.active span {background-color:transparent;}#nav-toggle.active span:before,#nav-toggle.active span:after {top:0;}#nav-toggle.active span:before {transform: rotate(45deg);}#nav-toggle.active span:after {transform:rotate(-45deg);}

 < a id =nav-togglehref =#>< span>< / span>< / a>  


I've got an animated CSS Hamburger icon at http://elijahmanor.com/css-animated-hamburger-icon/ and I wanna need to use it but I want to use it via hover to view set ex(x) and when not hover set it to default style that 3 lines. But I cannot do that even I used hover function.

document.querySelector("#nav-toggle")
  .addEventListener("click", function() {
    this.classList.toggle("active");
  });

#nav-toggle {
  position: absolute;
  left: 50%;
  top: 50%;
}

#nav-toggle {
  cursor: pointer;
  padding: 10px 35px 16px 0px;
}

#nav-toggle span,
#nav-toggle span:before,
#nav-toggle span:after {
  cursor: pointer;
  border-radius: 1px;
  height: 5px;
  width: 35px;
  background: black;
  position: absolute;
  display: block;
  content: '';
}

#nav-toggle span:before {
  top: -10px;
}

#nav-toggle span:after {
  bottom: -10px;
}

#nav-toggle span,
#nav-toggle span:before,
#nav-toggle span:after {
  transition: all 500ms ease-in-out;
}

#nav-toggle.active span {
  background-color: transparent;
}

#nav-toggle.active span:before,
#nav-toggle.active span:after {
  top: 0;
}

#nav-toggle.active span:before {
  transform: rotate(45deg);
}

#nav-toggle.active span:after {
  transform: rotate(-45deg);
}

<a id="nav-toggle" href="#"><span></span></a>

解决方案

The hover event is called mouseover.

The events name are the classic HTML DOM Events, just without the on prefix. For example, use mouseover instead of onmouseover.

document.querySelector( "#nav-toggle" )
  .addEventListener( "mouseover", function() {
    this.classList.toggle( "active" );
  });

#nav-toggle { position: absolute; left: 50%; top: 50%; }

#nav-toggle { cursor: pointer; padding: 10px 35px 16px 0px; }
#nav-toggle span, #nav-toggle span:before, #nav-toggle span:after {
  cursor: pointer;
  border-radius: 1px;
  height: 5px;
  width: 35px;
  background: black;
  position: absolute;
  display: block;
  content: '';
}
#nav-toggle span:before {
  top: -10px; 
}
#nav-toggle span:after {
  bottom: -10px;
}

#nav-toggle span, #nav-toggle span:before, #nav-toggle span:after {
  transition: all 500ms ease-in-out;
}
#nav-toggle.active span {
  background-color: transparent;
}
#nav-toggle.active span:before, #nav-toggle.active span:after {
  top: 0;
}
#nav-toggle.active span:before {
  transform: rotate(45deg);
}
#nav-toggle.active span:after {
  transform: rotate(-45deg);
}

<a id="nav-toggle" href="#"><span></span></a>

这篇关于如何在MouseOver上动画CSS动画汉堡包图标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆