''推拉门''动效也可以称作"手风琴"效果,大多数效果实现的思路基本是一样的,下面介绍两种方法,一种是通过改变图片的偏移位置实现移动,另一种是通过遍历背景图片后改变图片的宽度实现变换。

实现方法一:改变图片宽度
html+css代码
<body>
<div class="box">
<ul>
<!-- <li></li> -->
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</body>
<style>
*{
padding: 0;
margin: 0;
}
.box{
/*收缩状态:缩放时每个图片的大小240px 所以总大小1200px*/
/*展开状态:当前图片宽度800px 其他图片宽度100px*/
width: 1200px;
height: 500px;
border:1px solid red;
margin: 50px auto;
}
.box ul{
list-style: none;
width: 1210px;
}
/*设置每一张图片的大小和float: left*/
.box ul li{
width: 240px;
height: 500px;
/*background: url(images/slidepic2.jpg);*/
float: left;
}
</style>
jQuery实现
<script src = 'jquery-3.2.1.js'></script>
<script>
$(function(){
//1遍历每一张li 获取每个元素设置对应的图片
var lis = $('li');
lis.each(function(index, element){
//通过设置背景图片名称改变图片的显示
var imgName = "images/slidepic" + (index + 2) +".jpg ";
$(element).css('background', "url('"+ imgName +"')")
});
//2.展开状态
//鼠标滑入改变对应图片宽度800 其他图片(兄弟)改为100
lis.mouseenter(function(){
// console.log(this); 当前的li DOM元素
//当前的图片的宽度变为800
$(this).stop().animate({width: 800});
//其他图片的宽度变为100
$(this).siblings('li').stop().animate({width: 100});
});
//3鼠标滑出是全部显示为收缩状态
lis.mouseout(function(){
lis.stop().animate({width: 240});
});
})
</script>
jQuery精简后代码
//精简代码
$(function(){
$('li').each(function(index, element){
$(element).css('backgroud',"url('images/slidepic"+(index + 2)+.jpg')");
}).mouseenter(function(){
$(this).stop().animate({width: 800}).siblings().stop().aniamte(width: 100});
}).mouseout(function(){
$('li').stop().animate({width: 240});
});
})
实现方法二:改变图片的偏移值
html+css代码
<body>
<div class="picList">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</body>
<style>
*{
background-color: #aaa;
padding: 0;
margin: 0;
}
ul{list-style: none;}
.picList{
width: 1000px;
height: 400px;
/*border:1px solid #eee;*/
margin:100px auto;
position: relative;
overflow: hidden;
}
/*设置定位属性 所有图片覆盖在起始位置*/
.picList ul li{
position: absolute;
width: 1000px;
height: 400px;
top: 0;
}
img{
width: 100%;
height: 400px;
cursor: pointer;
}
</style>
jQuery实现
<script src = 'jquery-3.2.1.js'></script>
<script >
$(function(){
//1获取所有的图片 设置初始的收缩状态left:i*200
var lis = $('li');
for(var i = 0; i < lis.length; i++){
lis.eq(i).css({left:i*200 + 'px' });
}
//2.设置hover内置函数,实现鼠标滑入展开滑出收缩效果
lis.hover(function(){
var index = $(this).index(); //DOM对象转换jQuery对象
//2.1鼠标滑入后,当前图片的前面图片偏移位置减小到 j*100位置
for(var j = 0; j <= index; j++){
lis.eq(j).stop().animate({left: j*100 + 'px'},300);
}
//2.2鼠标滑入后,当前图片的后面图片偏移位置扩大到 500+j*100位置
for(var j = index + 1; j < lis.length; j++){
lis.eq(j).stop().animate({left: 500+j*100 + 'px'},300);
}
},function(){ //2.3鼠标滑出后,所有图片恢复到原来的位置 i*200
for(var i = 0; i < lis.length; i++){
lis.eq(i).stop().animate({left: i*200 + 'px'},300);
}
});
})
</script>
注意:方法一在实现的过程中,注意宽度和图片命名的设置。
提示:这里使用的是jQuery代码实现,javaScript代码也是一样的可以实现,只是修改下遍历过程和内置函数方法,另外再重写动画函数(前面的笔记有封装好的animate函数,可以直接引入使用)。
总结
以上所述是小编给大家介绍的基于jQuery实现图片推拉门动画效果的两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# jquery
# 推拉门效果
# 手风琴效果
# js实现图片推拉门效果代码实例
# jQuery实现推拉门效果
# 鼠标
# 遍历
# 滑入
# 推拉门
# 两种
# 滑出
# 小编
# 的是
# 在此
# 是一样的
# 给大家
# 可以直接
# 重写
# 可以实现
# 所述
# 给我留言
# 感谢大家
# 装好
# 过程中
# 疑问请
相关文章:
网站专业制作公司有哪些,做一个公司网站要多少钱?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
建站之星图片链接生成指南:自助建站与智能设计教程
成都网站制作报价公司,成都工业用气开户费用?
Python多线程使用规范_线程安全解析【教程】
建站主机服务器选购指南:轻量应用与VPS配置解析
如何通过建站之星自助学习解决操作问题?
已有域名和空间,如何快速搭建网站?
C++如何编写函数模板?(泛型编程入门)
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
微信小程序 input输入框控件详解及实例(多种示例)
css网站制作参考文献有哪些,易聊怎么注册?
建站之星如何快速解决建站难题?
如何快速搭建支持数据库操作的智能建站平台?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
怀化网站制作公司,怀化新生儿上户网上办理流程?
如何用PHP工具快速搭建高效网站?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
如何零基础开发自助建站系统?完整教程解析
无锡营销型网站制作公司,无锡网选车牌流程?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
如何在局域网内绑定自建网站域名?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
网站制作价目表怎么做,珍爱网婚介费用多少?
建站之星价格显示格式升级,你的预算足够吗?
孙琪峥织梦建站教程如何优化数据库安全?
表情包在线制作网站免费,表情包怎么弄?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
如何通过PHP快速构建高效问答网站功能?
制作企业网站建设方案,怎样建设一个公司网站?
内网网站制作软件,内网的网站如何发布到外网?
建站之星安装提示数据库无法连接如何解决?
如何正确下载安装西数主机建站助手?
常州自助建站工具推荐:低成本搭建与模板选择技巧
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
建站之星上传入口如何快速找到?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
建站之星展会模版如何一键下载生成?
如何在Windows 2008云服务器安全搭建网站?
Android滚轮选择时间控件使用详解
招贴海报怎么做,什么是海报招贴?
建站主机功能解析:服务器选择与快速搭建指南
制作门户网站的参考文献在哪,小说网站怎么建立?
网站制作模板下载什么软件,ppt模板免费下载网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。