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 相关文章推荐
JS的反射问题
Apr 07 Javascript
jQuery EasyUI API 中文文档 - Form表单
Oct 06 Javascript
优化Node.js Web应用运行速度的10个技巧
Sep 03 Javascript
JavaScript替换当前页面的方法
Apr 03 Javascript
jquery插件方式实现table查询功能的简单实例
Jun 06 Javascript
JavaScript DOM 对象深入了解
Jul 20 Javascript
JS实现动画兼容性的transition和transform实例分析
Dec 13 Javascript
vscode vue 文件模板的配置方法
Jul 23 Javascript
JavaScript实现密码强度实时验证
Mar 18 Javascript
vue+canvas实现移动端手写签名
May 21 Javascript
vue在响应头response中获取自定义headers操作
Jul 24 Javascript
解决vue的router组件component在import时不能使用变量问题
Jul 26 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
PHP字符串处理的10个简单方法
2010/06/30 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
jQuery之尺寸调整组件的深入解析
2013/06/19 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
js使用removeChild方法动态删除div元素
2014/08/01 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
vue组件name的作用小结
2018/05/23 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
node.js中npm包管理工具用法分析
2020/02/14 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
python pytest进阶之xunit fixture详解
2019/06/27 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
如何基于python测量代码运行时间
2019/12/25 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
分享29个基于Bootstrap的HTML5响应式网页设计模板
2015/11/19 HTML / CSS
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
吉力贝官方网站:Jelly Belly
2019/03/11 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
高级Java程序员面试题
2016/06/23 面试题
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
导游的职业规划书范文
2013/12/27 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
2016高考寄语或鼓励的话语
2015/12/04 职场文书
入团申请书格式
2019/06/20 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android