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 相关文章推荐
使用Modello编写JavaScript类
Dec 22 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
Sep 22 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
js构造函数、索引数组和属性的实现方式和使用
Nov 16 Javascript
JS正则表达式修饰符global(/g)用法分析
Dec 27 Javascript
Angular2库初探
Mar 01 Javascript
基于jquery日历价格、库存等设置插件
Jul 05 jQuery
微信小程序实现根据字母选择城市功能
Aug 16 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
Dec 18 Javascript
React Native日期时间选择组件的示例代码
Apr 27 Javascript
Vue使用axios出现options请求方法
May 30 Javascript
微信小程序实现分页加载效果
Nov 19 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实现图片添加描边字和马赛克的方法
2014/12/10 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
PHP.vs.JAVA
2016/04/29 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
php进程间通讯实例分析
2016/07/11 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
详解php中curl返回false的解决办法
2019/03/18 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
Javascript中神奇的this
2016/01/20 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
Vue中的v-cloak使用解读
2017/03/27 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
python 合并文件的具体实例
2013/08/08 Python
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
Python字符串的修改方法实例
2019/12/19 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
Python中logging日志库实例详解
2020/02/19 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
如何利用python生成MD5并去重
2020/12/07 Python
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
介绍一下Java中标识符的命名规则
2014/02/03 面试题
积极分子思想汇报
2014/01/04 职场文书
小学运动会入场式解说词
2014/02/18 职场文书
小学六年级学生评语
2014/04/22 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
团员年度个人总结
2015/02/26 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
三十年同学聚会感言
2015/07/30 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
一次Mysql update sql不当引起的生产故障记录
2022/04/01 MySQL