JS实现手风琴特效


Posted in Javascript onNovember 08, 2020

本文实例为大家分享了JS实现手风琴特效的具体代码,供大家参考,具体内容如下

效果图

JS实现手风琴特效

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>手风琴</title>
  <link rel="stylesheet" href="index.css" rel="external nofollow" >
</head>

<body>
  <div class="wrapper">
    <ul class="wrapUl">
      <li>
        <div class="title">
          <h1>温泉酒店</h1>
        </div>
        <div class="picBox picBox1"></div>
        <div class="decration">有谁不爱泡温泉?浸入雾气蒸腾的泉水之中,把身体泡成一片茶叶,舒展轻盈。有比这更美妙的感觉吗?</div>
      </li>
      <li>
        <div class="title">
          <h1>时尚酒店</h1>
        </div>
        <div class="picBox picBox2"></div>
        <div class="decration">浪漫,是香闺围笼,是灯火迷离,泪眼婆裟的唯美,是杨柳岸、晓风残月中的无语凝噎……</div>
      </li>
      <li>
        <div class="title">
          <h1>设计师酒店</h1>
        </div>
        <div class="picBox picBox3"></div>
        <div class="decration">前卫的酒店设计理念,独具魅力的风格,优美的自然风光才能有这样顶级的酒店</div>
      </li>
      <li>
        <div class="title">
          <h1>青年旅店</h1>
        </div>
        <div class="picBox picBox4"></div>
        <div class="decration">我为你煮一杯温茶,斟一杯美酒。让我们席地而坐,听你的梦想。用你的只言片语装点我们的梦想博物馆</div>
      </li>
      <li>
        <div class="title">
          <h1>民宿客栈</h1>
        </div>
        <div class="picBox picBox5"></div>
        <div class="decration">在这里,你可以静静发呆,而不被人打扰;在这里,你能看见最美好的星星,能让你找到最深的感动</div>
      </li>
      <li>
        <div class="title">
          <h1>海岛酒店</h1>
        </div>
        <div class="picBox picBox6"></div>
        <div class="decration">不想过冬,厌倦沉重,就飞去热带的岛屿游泳,卸下包袱,放下压力,在这碧海蓝天之中</div>
      </li>
      <li>
        <div class="title">
          <h1>海外酒店</h1>
        </div>
        <div class="picBox picBox7"></div>
        <div class="decration">因地形地质的区别,世界各地的温泉也千差万别,选择一处适合自己的温泉,你会忘记世界</div>
      </li>
    </ul>
  </div>
  <script src="jquery.js"></script>
  <script src="index.js"></script>
</body>
</html>

JS代码

var oUl = $('ul'),
  oLi = $('li'),
  len = oLi.length,
  width = parseInt(oUl.css('width')),
  gw = width / len,
  ot = Math.floor((width - 400) / (len - 1));
  flag = true;
function init(){
  if(flag){
    change($(oLi[len-1]));    
  }
}
function bindEvent(){
  oLi.on('click',function(){
    change($(this));
    if(($(this).index() +1) == len){
      flag = false;
    }else{
      flag = true;      
    }
  });
  oUl.on('mouseleave',function(){
    init();
  })
}
function change(event){
  event.animate({
    'width':'400px'
  },300,'linear').siblings().animate({
    'width':ot + 'px'
  },300,'linear');
  event.find('.title').css({
    'display':'none'
  })
  event.siblings().find('.title').css({
    'display':'block'
  })
  event.find('.decration').css({
    'bottom':'0px'
  })
  event.siblings().find('.decration').css({
    'bottom':'-50px'
  })
}
init();
bindEvent();

CSS代码

*{
  margin:0;
  padding:0;
  list-style:none;
}
body{
  background-color:#333;
}
.wrapper{
  width:80%;
  margin:50px auto;
  padding:40px;
}
.wrapper ul{
  width:100%;
  height:300px;
  overflow: hidden;
}
.wrapper ul li{
  float: left;
  width:14.2;
  height:260px;
  position:relative;
  overflow:hidden;
  cursor:pointer;  
}
.picBox{
  width:100%;
  height:100%;
}
.picBox1{
  background:url(images/1.jpg) no-repeat center 0;
}
.picBox2{
  background:url(images/2.jpg) no-repeat center 0;
}
.picBox3{
  background:url(images/3.jpg) no-repeat center 0;
}
.picBox4{
  background:url(images/4.jpg) no-repeat center 0;
}
.picBox5{
  background:url(images/5.jpg) no-repeat center 0;
}
.picBox6{
  background:url(images/6.jpg) no-repeat center 0;
}
.picBox7{
  background:url(images/7.jpg) no-repeat center 0;
}
.wrapper ul li .title{
  position:absolute;
  overflow:hidden;
  width:100%;
  height:100%;
  left:0;
  top:0;
  background:rgba(0,0,0,0.5);
}
.wrapper ul li .title h1{
  color:#fff;
  width:30px;
  margin:0 auto;
  display:block;
  font:20px;
  padding-top:30px;
  opacity:0.8;
}
.wrapper ul li .decration{
  width:400px;
  height:40px;
  padding-left:20px;
  padding-right:30px;     
  position:absolute;
  left:0; 
  bottom:-50px;
  background:rgba(0,0,0,0.3); 
  color:#FFF; 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
深入理解JavaScript系列(48):对象创建模式(下篇)
Mar 04 Javascript
IE10中flexigrid无法显示数据的解决方法
Jul 26 Javascript
Bootstrap在线电子商务网站实战项目5
Oct 14 Javascript
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 jQuery
vue.js实现备忘录功能的方法
Jul 10 Javascript
详解JS构造函数中this和return
Sep 16 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
Oct 16 Javascript
JavaScript函数绑定用法实例分析
Nov 14 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
Aug 27 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
Mar 28 Javascript
小程序封装路由文件和路由方法(5种全解析)
May 26 Javascript
vue图片加载失败时用默认图片替换的方法
Aug 29 Javascript
JS画布动态实现黑客帝国背景效果
Nov 08 #Javascript
vue.js页面加载执行created,mounted的先后顺序说明
Nov 07 #Javascript
Node.js path模块,获取文件后缀名操作
Nov 07 #Javascript
解决vue props传Array/Object类型值,子组件报错的情况
Nov 07 #Javascript
解决Vue watch里调用方法的坑
Nov 07 #Javascript
浅谈vue.watch的触发条件是什么
Nov 07 #Javascript
html+vue.js 实现漂亮分页功能可兼容IE
Nov 07 #Javascript
You might like
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
jQuery is()函数用法3例
2014/05/06 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
jQuery插件dataTables添加序号列的方法
2016/07/06 Javascript
JavaScript鼠标特效大全
2016/09/13 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
寻找网站后台地址的python脚本
2014/09/01 Python
Python中的Classes和Metaclasses详解
2015/04/02 Python
详解Python的Django框架中的通用视图
2015/05/04 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
django实现前后台交互实例
2017/08/07 Python
python中的global关键字的使用方法
2019/08/20 Python
python3 pillow模块实现简单验证码
2019/10/31 Python
详细分析Python垃圾回收机制
2020/07/01 Python
python3中确保枚举值代码分析
2020/12/02 Python
delegate与普通函数的区别
2014/01/22 面试题
企事业单位求职者的自我评价
2013/12/28 职场文书
护理专业自我鉴定
2014/01/30 职场文书
倡议书格式范文
2014/04/14 职场文书
优秀安全员事迹材料
2014/05/11 职场文书
教师师德师风个人整改方案
2014/09/18 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
网吧管理制度范本
2015/08/05 职场文书