轮播图效果

作者: 大乔是个美少女 | 来源:发表于2017-12-28 18:30 被阅读11次

想在我们的数据可视化平台上做一个这样的轮播图特效:

wmda.png

需要把下图中的图片列表展示成轮播图:

yuntu.png

整个项目使用的是angularjs,需要找一个好用一点的轮播图插件:

1、bootstrap + Carousel (基础轮播是单页效果)
2、jcarrousel (npm包)
3、slick

最后选择了slick,有bower的安装包,几个插件的使用方法都差不多。
slick github地址

通过bower下载完,将对应的vender文件加入到对应页面的css和js依赖里,我们就可以在前端使用slick了。

#css
<!-- Add the slick-theme.css if you want default styling -->
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/gh/kenwheeler/slick@1.8.1/slick/slick.css"/>
<!-- Add the slick-theme.css if you want default styling -->
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/gh/kenwheeler/slick@1.8.1/slick/slick-theme.css"/>
#js
<script type="text/javascript" src="//cdn.jsdelivr.net/gh/kenwheeler/slick@1.8.1/slick/slick.min.js"></script>

先做功能测试,例子地址

<div data-slick='{"slidesToShow": 4, "slidesToScroll": 4}'>
  <div><h3>1</h3></div>
  <div><h3>2</h3></div>
  <div><h3>3</h3></div>
  <div><h3>4</h3></div>
  <div><h3>5</h3></div>
  <div><h3>6</h3></div>
</div>

测试完成,开发。

炫彩展示第一版:

show.png

一开始,我想仿照样品的设计,只在部分页面显示轮播效果,发现边栏会影响显示效果,于是,在显示过程中隐藏边栏。
对展示图表大小的控制。
中间页的放大效果。
原本仪表盘支持拖拽功能和新插件之间的互相影响。
highcharts Dom变化后重绘,直接改动列表Dom。
兼容地图特殊大小。

炫彩展示第二版:

改完第一个版,数据图表还是要尽量全面的显示数据,小师傅让把图表显示的更大,(中间又做了一版,折叠效果,table不能展示全部数据。还要放大。改动了原来td的min-length虽然能显示所有的内容,可是数据对不齐了,恢复回去后,想直接增大中间页的宽度,resize方法效果不好,而且div重叠的地方会触发跳转。)


show2.jpg

隐藏导航和页脚。
针对循环方式的选择,是循环还是单向。
仪表盘间跳转方式选择:点击还是滑动。
highcharts画图会响应用户的点击效果,遮罩处理。
table字段可复制。
大屏小屏图表展示兼容。
i标签变形,全屏效果。
测试导出功能。
返回位置的选择。

炫彩展示第三版

show3.jpg

js:

#slick的初始化函数
$(".center").slick(
     dots: true
     centerMode: true
     arrows: true
     slidesToShow: 1
     infinite: false
     draggable: false
     centerPadding: '250px' //slide-list 两边边距距离
     # autoplay: true
     # autoplaySpeed: 2000
 )
# slick点击跳转
$('.center').on('click', '.slick-slide', ->
     actIndex = $(this).attr('data-slick-index')
     slideIndex = $(this).index()
     $('.center').slick('slickGoTo', parseInt(actIndex), true)
 )

css:

    # css兼容大小屏
    @media screen and (max-width: 1400px) {
        .chart-width {
            height: 350px !important;
        }
    }

    @media screen and (min-width: 1401px) {
        .chart-width {
            height: 600px !important;
        }
    }
    # 遮罩效果
    .mask {
        background-color: white;
        filter: alpha(opacity=50);
        opacity: 0;
        position: absolute;
        top: 0px;
        left: 0px;
        z-index: 100000;
        width: 100%;
        height: 100%;
        display: none;
    }

    #中间页效果
    .slick-current {
        transition: All 0.4s ease-in-out;
        -webkit-transition: All 0.4s ease-in-out;
        -moz-transition: All 0.4s ease-in-out;
        -o-transition: All 0.4s ease-in-out;

        // -webkit-transform:scale(1.2, 1.2);
        // -moz-transform:scale(1.2, 1.2);
        // -transform:scale(1.2, 1.2);

        position: relative;
        z-index: 10;
        # 支持table可复制
        -webkit-user-select: text;
        -moz-user-select: text;
        -o-user-select: text;
        user-select: text;

        .mask {
            display: none !important;
        }

    }

    # 隐藏边线颜色
    .slick-slide, .chartbox {
        outline: none;
    }

总结
整个功能还没有完全做完,在做的过程中,遇到了很多问题,有时候总觉得自己已经做完了,可是还没有达到小师傅的需求。需要保证原有的页面功能,更好的展示数据的效果。耐住性子完成新的要求,A方案不可以就寻找B方案,自己的前端基础不是很牢固,很多css3的特性,js的方法还要学习,用一个轮子实现了自己的功能,开心。

Ending

show5.PNG

相关文章

  • android轮播图效果

    先上效果图: viewpager+handler+runnableTask实现轮播图效果。可以自动轮播,左右无限滑...

  • 轮播图心得

    轮播图 写轮播图之前我们要认识到几个问题:一、什么是轮播图?二、怎么实现轮播效果?三、轮播图还有什么小功能可以实现...

  • Vue项目中使用elementUI中的Carousel 走马灯实

    轮播图效果 如需封装可参考如下: 封装Carousel走马灯实现轮播图效果[https://www.jianshu...

  • 轮播图

    今天我们就来做一个轮播图效果,首先我说一下轮播图的原理,轮播图就是一组图片利用视觉差达到图片切换的效果。1、我们使...

  • 技术练习的demo集

    demo1 实现优酷轮播图效果 页面效果展示 功能:自动轮播,hover停止轮播,点击left/right上一页/...

  • swift UICollectionView 实现无限轮播图

    无线轮播图的实现方式有很多,这里介绍如何通过 UICollectionView 实现无线轮播图.效果图如下: 具体...

  • 仿造天猫、京东、凡客等,轮播图的开发(jQuery)

    轮播图思路:1、轮播图布局2、定时器实现轮播效果3、指示器的鼠标移入(mouseenter)、移出(mousele...

  • Axure交互设计操作(二)

    之前一里总结到轮播效果,其实实战当中轮播效果一般是复合使用的。比如: 和轮播图类似,这其实也是一个轮播效果。我刚遇...

  • 简单的轮播图,你会吗?

    开始做第一个轮播图 第一个轮播图比较简单,显示隐藏的方式轮播图片。废话少说直接看效果。 效果https://gks...

  • Jquery 轮播图制作

    轮播图制作主要思路:实现轮播图滚动的效果,主要是使用animate()函数来实现这个过渡的动画效果。当向左点击时,...

网友评论

    本文标题:轮播图效果

    本文链接:https://www.haomeiwen.com/subject/fpuvgxtx.html