基于jquery的手风琴图片展示效果实现方法


Posted in Javascript onDecember 16, 2014

本文实例讲述了基于jquery的手风琴图片展示效果实现方法。分享给大家供大家参考。具体实现方法如下:

代码运行效果如下图所示:

基于jquery的手风琴图片展示效果实现方法

index.html页面代码如下:

<!DOCTYPE html>

<html class=''>

<head>

    <title>一款基于jquery的手风琴图片展示效果demo</title>

    <style class="cp-pen-styles">

        div

        {

            -moz-box-sizing: border-box;

            box-sizing: border-box;

        }

        

        html, body, .page-container

        {

            height: 100%;

            overflow: hidden;

        }

        

        .page-container

        {

            -webkit-transition: padding 0.2s ease-in;

            transition: padding 0.2s ease-in;

            padding: 80px;

        }

        .page-container.opened

        {

            padding: 0;

        }

        .page-container.opened .flex-container .country:not(.active)

        {

            opacity: 0;

            -webkit-flex: 0;

            -ms-flex: 0;

            flex: 0;

        }

        .page-container.opened .flex-container .country:not(.active) div

        {

            opacity: 0;

        }

        .page-container.opened .flex-container .active:after

        {

            -webkit-filter: grayscale(0%) !important;

            filter: grayscale(0%) !important;

        }

        

        .flex-container

        {

            display: -webkit-flex;

            display: -ms-flexbox;

            display: flex;

            height: 100%;

        }

        @media all and (max-width: 900px)

        {

            .flex-container

            {

                -webkit-flex-direction: column;

                -ms-flex-direction: column;

                flex-direction: column;

            }

        }

        

        .country

        {

            position: relative;

            -webkit-flex-grow: 1;

            -ms-flex-positive: 1;

            flex-grow: 1;

            -webkit-flex: 1;

            -ms-flex: 1;

            flex: 1;

            -webkit-transition: 0.5s ease-in-out;

            transition: 0.5s ease-in-out;

            cursor: pointer;

            font-family: "Bree Serif" , serif;

            text-align: center;

            color: #fff;

            font-size: 22px;

            text-shadow: 0 0 3px #000;

        }

        .country div

        {

            position: absolute;

            width: 100%;

            z-index: 10;

            top: 50%;

            text-align: center;

            -webkit-transition: 0.1s;

            transition: 0.1s;

            -webkit-transform: translateY(-50%);

            -ms-transform: translateY(-50%);

            transform: translateY(-50%);

            -webkit-filter: none;

            filter: none;

        }

        .country:after

        {

            content: " ";

            position: absolute;

            top: 0;

            left: 0;

            right: 0;

            bottom: 0;

            background-size: cover;

            -webkit-transition: 0.5s ease-in-out;

            transition: 0.5s ease-in-out;

            -webkit-filter: grayscale(100%);

            filter: grayscale(100%);

        }

        .country:hover

        {

            -webkit-flex-grow: 6;

            -ms-flex-positive: 6;

            flex-grow: 6;

        }

        .country:hover:after

        {

            -webkit-filter: grayscale(0%);

            filter: grayscale(0%);

        }

        @media all and (max-width: 900px)

        {

            .country

            {

                height: auto;

            }

        }

        

        .netherlands:after

        {

            background-image: url("Netherlands.png");

            background-position: center;

        }

        

        .belgium:after

        {

            background-image: url("belgium-307_3.jpg");

            background-position: center;

        }

        

        .france:after

        {

            background-image: url("30.jpg");

            background-position: center;

        }

        

        .germany:after

        {

            background-image: url("vacation.jpg");

            background-position: center;

        }

        

        .england:after

        {

            background-image: url("england.jpg");

            background-position: center;

        }

    </style>

</head>

<body>

    <div class="page-container">

        <div class="flex-container">

            <div class="country netherlands">

                <div>

                    Netherlands</div>

            </div>

            <div class="country belgium">

                <div>

                    Belgium</div>

            </div>

            <div class="country france">

                <div>

                    France</div>

            </div>

            <div class="country germany">

                <div>

                    Germany</div>

            </div>

            <div class="country england">

                <div>

                    England</div>

            </div>

        </div>

    </div>

    <script src='jquery.js'></script>

    <script>

        $('.country').click(function () {

            $(this).toggleClass('active');

            $('.page-container').toggleClass('opened');

        }); //@ sourceURL=pen.js

    </script>

</body>

</html>

完整实例代码点击此处本站下载

希望本文所述对大家的jQuery特效设计有所帮助。

Javascript 相关文章推荐
关于javascript document.createDocumentFragment()
Apr 04 Javascript
js判断是否为数组的函数: isArray()
Oct 30 Javascript
可编辑下拉框的2种实现方式
Jun 13 Javascript
继续学习javascript闭包
Dec 03 Javascript
JavaScript继承模式粗探
Jan 12 Javascript
node.js中 stream使用教程
Aug 28 Javascript
js自定义瀑布流布局插件
May 16 Javascript
浅谈react受控组件与非受控组件(小结)
Feb 09 Javascript
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
Aug 22 Javascript
Vue组件通信入门之Provide和Inject机制
Dec 29 Javascript
小程序跳转H5页面的方法步骤
Mar 06 Javascript
基于javascript原生判断DOM是否加载完毕
Oct 14 Javascript
node.js中的fs.lchownSync方法使用说明
Dec 16 #Javascript
node.js中的fs.lchown方法使用说明
Dec 16 #Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
Dec 16 #Javascript
node.js中的fs.fchmodSync方法使用说明
Dec 16 #Javascript
node.js中的fs.fchmod方法使用说明
Dec 16 #Javascript
node.js中的fs.lchmodSync方法使用说明
Dec 16 #Javascript
node.js中的fs.lchmod方法使用说明
Dec 16 #Javascript
You might like
一些PHP写的小东西
2006/12/06 PHP
用PHP实现的随机广告显示代码
2007/06/14 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
分享php多功能图片处理类
2016/05/15 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
写自已的js类库需要的核心代码
2012/07/16 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
js document.write()使用介绍
2014/02/21 Javascript
如何正确使用javascript 来进行我们的程序开发
2014/06/23 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
基于JavaScript实现每日签到打卡轨迹功能
2018/11/29 Javascript
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
python快排算法详解
2019/03/04 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
详解Html5原生拖拽操作
2018/01/12 HTML / CSS
逼真的HTML5树叶飘落动画
2016/03/01 HTML / CSS
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
生日宴会主持词
2014/03/20 职场文书
庆祝国庆节标语
2014/10/09 职场文书
建筑横幅标语
2014/10/09 职场文书
化工厂员工工作总结
2015/10/15 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
了解Redis常见应用场景
2021/06/23 Redis
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android