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之典型高阶函数应用介绍
Jan 10 Javascript
UpdatePanel和Jquery冲突的解决方法
Apr 01 Javascript
js 赋值包含单引号双引号问题的解决方法
Feb 26 Javascript
JavaScript中的数组操作介绍
Dec 30 Javascript
Jquery中find与each方法用法实例
Feb 04 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
Jun 12 Javascript
微信小程序 loading(加载中提示框)实例
Oct 28 Javascript
JavaScript 详解预编译原理
Jan 22 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
May 26 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
Apr 17 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
Dec 12 Javascript
vue实现购物车的监听
Apr 20 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遍历数组的几种方法
2012/03/22 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
python中pycurl库的用法实例
2014/09/30 Python
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
将Python的Django框架与认证系统整合的方法
2015/07/24 Python
基于ID3决策树算法的实现(Python版)
2017/05/31 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
python PrettyTable模块的安装与简单应用
2019/01/11 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
给Django Admin添加验证码和多次登录尝试限制的实现
2020/07/26 Python
python openssl模块安装及用法
2020/12/06 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
经济与贸易专业应届生求职信
2013/11/19 职场文书
环保倡议书怎么写
2014/05/16 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
在Python中如何使用yield
2021/06/07 Python
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle