layui框架实战案例(26):layui-carousel轮播组件添加多个Echarts图标的效果

news2024/10/9 4:24:58

在Layui中,使用layui-carousel轮播组件嵌套Echarts图表来实现多个图表的展示。
在这里插入图片描述

css层叠样式表

  • 调整轮播图背景色为白色;
  • 调整当个Echarts图表显示loading…状态;
  • 同一个DIV轮播项目添加多个Echarts的
 .layui-carousel {
            background-color: #fff !important;
        }

        .layui-carousel > [carousel-item] > * {
            background-color: #fff;
        }

        /* 隐藏轮播加载状态 */
        .custom-carousel > .layui-carousel-loading {
            display: none !important;
        }

        .left-ec {
            position: absolute;
            top: 0;
            left: 0;
            width: 200px;
            height: 300px;
        }

        .right-ec {
            position: absolute;
            top: 0;
            right: 0;
            width: 200px;
            height: 300px;
        }

HTML容器

<div class="layui-carousel" id="lock_carousel">
    <div carousel-item id="lock_box"></div>
</div>

加载轮播组件

layui.use(function () {
        var carousel = layui.carousel;

        // 渲染 - 设置时间间隔、动画类型、宽高度等属性
        carousel.render({
            elem: '#lock_carousel',
            interval: 5000,
            anim: 'default',//fade
            width: '400px',
            height: '300px'
        });
    });

Echarts组件开发

图标封装

    function getEcharts(id, name, norm) {
        var myChart = echarts.init(document.getElementById(id));
        var option = {
            tooltip: {
                formatter: "{a} <br/>{b} : {c}MPa"
            },
            series: [{
                name: '管道压力',
                type: 'gauge',
                radius: '98%',
                pointer: {
                    show: true,
                    itemStyle: {
                        color: {
                            type: 'linear',
                            x: 0,
                            y: 0,
                            x2: 0,
                            y2: 1,
                            colorStops: [{
                                offset: 0, color: '#FFC600' // 0% 处的颜色
                            }, {
                                offset: 1, color: '#0B95FF' // 100% 处的颜色
                            }],
                            global: false // 缺省为 false
                        }
                    }
                },
                data: [{
                    value: norm,
                    name: name
                }],
                detail: {
                    formatter: '{value} Mpa',
                    fontSize: 16,
                    offsetCenter: [0, '-16%'],
                },
                title: {
                    show: true,
                    offsetCenter: [0, '96%'], // x, y,单位px
                    textStyle: {
                        color: '#000',
                        fontSize: 18
                    }
                },
                axisLine: {
                    show: true,
                    lineStyle: {
                        color: [
                            [1, new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
                                offset: 0.1,
                                color: "#FFC600"
                            },
                                {
                                    offset: 0.6,
                                    color: "#30D27C"
                                },
                                {
                                    offset: 1,
                                    color: "#0B95FF"
                                }
                            ])]
                        ]

                    }
                }
            }]
        };

        myChart.setOption(option, true);
    }

数据格式规范

   var data = [
        {id: 1, name: '金瀚幼儿园', value: 17.6},
        {id: 2, name: '北航小学', value: 27.6},
        {id: 3, name: '平沙二中', value: 37.6},
        {id: 4, name: '平沙一中', value: 47.6},
        {id: 5, name: '金湾一中', value: 57.6},
        {id: 6, name: '金湾二中', value: 67.6},
        {id: 7, name: '金湾三中', value: 77.6},
        {id: 8, name: '金湾四中', value: 27.6},
        {id: 9, name: '金瀚幼儿园', value: 17.6},
        {id: 10, name: '北航小学', value: 27.6},
        {id: 11, name: '平沙二中', value: 37.6},
        {id: 12, name: '平沙一中', value: 47.6},
        {id: 13, name: '金湾一中', value: 57.6},
        {id: 14, name: '金湾二中', value: 67.6},
        {id: 15, name: '金湾三中', value: 77.6}
    ]

    // 使用函数进行分组,每两个元素一组
    var chunkedData = chunkArray(data, 2);
   var ecHtml = '';
    for (var i = 0; i < chunkedData.length; i++) {
        var arrHtml = '';
        if (chunkedData[i][1] != undefined) {
            arrHtml = '<div class="right-ec" id="chart' + chunkedData[i][1].id + '"></div></div>';
        }
        ecHtml += '<div><div class="left-ec" id="chart' + chunkedData[i][0].id + '"></div>' + arrHtml;
    }
    $("#lock_box").html(ecHtml);

    // 初始化ECharts图表
    //循环遍历图表
    for (var n = 0; n < data.length; n++) {
        getEcharts("chart" + data[n].id, data[n].name, data[n].value);
    }

    function chunkArray(array, chunkSize) {
        // 使用reduce方法进行分组
        return array.reduce((resultArray, item, index) => {
            const chunkIndex = Math.floor(index / chunkSize);

            if (!resultArray[chunkIndex]) {
                resultArray[chunkIndex] = []; // 初始化分组数组
            }

            resultArray[chunkIndex].push(item);
            return resultArray;
        }, []);
    }

@漏刻有时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1568543.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

黄锈水过滤器 卫生热水工业循环水色度水处理器厂家工作原理动画

​ 1&#xff1a;黄锈水处理器介绍 黄锈水处理器是一种专门用于处理“黄锈水”的设备&#xff0c;它采用机电一体化设计&#xff0c;安装方便&#xff0c;操作简单&#xff0c;且运行费用极低。这种处理器主要由数码射频发生器、射频换能器、活性过滤体三部分组成&#xff0c;…

GPT-3.5开放免费使用,这次OpenAI做到了真的open

本周一&#xff0c;OpenAI宣布&#xff0c;部分地区的ChatGPT网站访问者现在无需登录即可使用人工智能助手。 此前&#xff0c;该公司要求用户创建账户才能使用&#xff0c;即使是目前由GPT-3.5AI语言模型支持的免费版ChatGPT也是如此。 01.GPT-3.5开放免登录使用 众所周知&…

mysql+keepalive+lvs搭建的数据库集群实验

前提条件&#xff1a;准备5台计算机&#xff0c;且网络互通 1、客户端 yum groups -y install mariadb-client ip 192.168.0.5 2、lvs1 yum-y install ipvsadm keepalived ip 192.168.0.1 keepalivedvip 192.168.0.215 /etc/hosts 解析192.168.0.1 主机名 3、lvs2 yum-y i…

生成式人工智能与 LangChain(预览)(下)

原文&#xff1a;Generative AI with LangChain 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 六、开发软件 虽然这本书是关于将生成式人工智能&#xff0c;特别是大型语言模型&#xff08;LLMs&#xff09;集成到软件应用程序中&#xff0c;但在本章中&#xff0c;…

C++模板基础1——定义函数模板

函数模板定义格式 模板函数定义格式如下&#xff1a; template <typename T> 返回类型 函数名(参数列表) {// 函数体 }其中&#xff0c;template<typename T>是模板声明&#xff0c;用于定义模板参数 T。可以使用不同的关键字代替 typename&#xff0c;例如 clas…

4大企业实例解析:为何MongoDB Atlas成为AI服务构建的首选

随着人工智能和生成式AI技术的迅猛发展&#xff0c;众多企业和机构正积极利用自然语言处理&#xff08;NLP&#xff09;、大型语言模型&#xff08;LLM&#xff09;等前沿技术&#xff0c;打造出一系列AI驱动的产品、服务和应用程序。 本文将展示四家已在AI创新领域取得显著成…

【MATLAB】PSO_BP神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~ 1 基本定义 PSO_BP神经网络时序预测算法是一种结合了粒子群优化(PSO)算法和反向传播(BP)神经网络的时序预测方法。它利用了PSO算法的全局搜索能力和BP神经网络的优化能力&#xff0c;能够更准确地预测时序数据。 具体步…

【随笔】Git -- 高级命令(上篇)(六)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

练习 19 Web [BJDCTF2020]Easy MD5

如果你是第一批做这个题的&#xff0c;这道题一点也不easy 打开在前端代码里面看到&#xff0c;输入框输入的内容实际是’password’ 随意输入内容&#xff0c;查看响应header中的内容有一句SQL代码&#xff0c;可知我们要让password在md5后返回值为true 然后尬住&#xff…

3月造车新势力销量出炉:问界继续领跑,哪吒下滑,岚图抢眼

进入4月份&#xff0c;各大造车新势力们纷纷公布了3月份最新销量成绩&#xff0c;根据相关数据显示&#xff0c;问界再度超越理想&#xff0c;夺得造车新势力头名的位置。而零跑、蔚来、小鹏的销量也实现不错的增长&#xff0c;岚图汽车的表现同样十分亮眼。不过日前遭到周鸿祎…

C/C++程序的(编译,链接)翻译与运行

目录 前言&#xff1a; 1.程序环境 2.翻译环境 3.预处理&#xff08;预编译&#xff09; 4.编译 5.汇编 6.链接 7.运行环境 总结&#xff1a; 前言&#xff1a; 本篇来解释c/c程序的翻译环境与运行环境中的过程&#xff0c;不同的编程语言的翻译环境类似&#xff0c;…

[每周一更]-第92期:Go项目中的限流算法

这周五在清明假期内&#xff0c;提前更新文章 很多业务会有限流的场景&#xff0c;比如活动秒杀、社区搜索查询、社区留言功能&#xff1b;保护自身系统和下游系统不被巨型流量冲垮等。 在计算机网络中&#xff0c;限流就是控制网络接口发送或接收请求的速率&#xff0c;它可防…

MyBatis-Plus03

测试自定义功能 首先创建mapper文件夹。 在UserMapper下编写sql语句&#xff08;把namespace改为自己的&#xff09; <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""…

查询SQL server数据库在后台执行过的语句

查询SQL server数据库在后台执行过的语句 SELECT TOP 30000total_worker_time/1000 AS [总消耗CPU 时间(ms)],execution_count [运行次数],qs.total_worker_time/qs.execution_count/1000 AS [平均消耗CPU 时间(ms)],last_execution_time AS [最后一次执行时间],min_worker_ti…

Windows系统基于WSL子系统的torchquantum安装记录GPU版本

子系统需要的环境&#xff1a; anaconda/miniconda、pip换源(清华源) 1.准备 torchquantum最新版本可以从github上找到&#xff0c;直接clone/下载整个project&#xff0c;查看环境要求&#xff0c;需要安装pytorch和tensorflow 新建一个conda环境&#xff0c;注意python最…

算法沉淀——动态规划篇(子数组系列问题(下))

算法沉淀——动态规划篇&#xff08;子数组系列问题&#xff08;下&#xff09;&#xff09; 前言一、等差数列划分二、最长湍流子数组三、单词拆分四、环绕字符串中唯一的子字符串 前言 几乎所有的动态规划问题大致可分为以下5个步骤&#xff0c;后续所有问题分析都将基于此 …

【JavaScript 漫游】【052】Proxy

文章简介 本篇文章为【JavaScript 漫游】专栏的第 052 篇文章&#xff0c;记录了 ES6 规范中 Proxy 的知识点。 概述 Proxy 用于修改某些操作的默认行为&#xff0c;等同于在语言层面做出修改&#xff0c;所以属于一种“元编程”&#xff08;meta programming&#xff09;&a…

微信公众号如何开通留言功能?

首先&#xff0c;我们需要了解为什么现在注册的公众号没有留言功能。这是因为所有在2018年之后注册的微信公众号都无法再自带留言功能。这一变化是根据微信的通知而实施的。自2018年2月12日起&#xff0c;微信对新注册的公众号进行了调整&#xff0c;取消了留言功能。这一决策主…

多线程重点知识(个人整理笔记)

目录 1. java 多线程 1.1. 什么是进程?什么是线程? 1.1.1. 进程 1.1.2. 线程 1.1.3. 多线程 2. 并行和并发有什么区别&#xff1f; 3. 守护线程是什么&#xff1f; 4. 创建线程有哪几种方式&#xff1f; 4.1. 线程的常见成员方法 5. 线程安全问题 5.1. synchronize…

伪造靶机之iptables

伪造禁ping、网络不可达、主机不可达、协议、端口的命令 iptables -A INPUT -p icmp --icmp-type echo-request -j DROP iptables -A INPUT -s 172.18.6.89 -p icmp -j REJECT --reject-with icmp-net-unreachable iptables -A INPUT -s 172.18.6.89 -p icmp -j REJECT --re…