今天和大家分享一下用 animate 实现滑动切换效果的小例子 ------- 来自<一只有梦想的前端小白>
大家都知道jQuery 提供的有一下几种方法能够实现滑动效果:
- slideDown()
- slideUp()
- slideToggle()
但是以上的滑动不太方便控制其滑动的方向,所以我们还是自己动手写一个吧。。。
其代码如下:
<!DOCTYPE html> <html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><title>Examples</title><meta name="description" content=""><meta name="keywords" content=""><style type="text/css">body{width: 100%;height: auto;}.content{width: 150px;height: 50px;position: absolute;top: 20px;left: 20px;overflow: hidden;background-color: red;}.slide-box{width: 300px;position: relative;overflow: hidden;}.slide1{width: 150px;height: 50px;float: left;display: inline-block;line-height: 50px;text-align: center;background-color: #BDD8CF;}.slide2{width: 150px;height: 50px;float: right;display: inline-block;line-height: 50px;text-align: center;background-color: #C1C4C4;}</style></head><body><div class="content"><div class="slide-box"><span class="slide1">左边的元素</span><span class="slide2">右边的元素</span></div></div><script src="js/jquery-1.11.2.min.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">$(function(){$(".content").hover(function(){$(".slide-box").stop(true).animate({right:"150px"},'slow');},function(){$(".slide-box").stop(true).animate({right:"0"},'slow');});})</script></body> </html>
以上代码即可以实现一个完整的滑动效果。但是有一点需要注意,
如上图所示,需要加上 stop() 事件 ,防止鼠标快速移动时产生的多个事件,形成一个栈队,造成鼠标移除后依旧滑动甚至闪动的效果。
希望以上的介绍对您能有所帮助,同时这也是我自己只是内化的过程,感谢博客园平台!----来自<一只有梦想的前端小白>