当前位置: 首页 > news >正文

商城系统网站模板淄博做网站建设

商城系统网站模板,淄博做网站建设,上海金山网站设计公司,免费游戏不用登录大全需求#xff1a; 左右结构的div#xff0c;可以根据数据抬起按下进行拉伸修改容器宽度的操作给左右结构某一图表设置拉伸自适应左右结构都设置个最小宽度#xff0c;只能到一定区域内拉伸解决echarts的bug#xff08;重复加载chart实例#xff09;#xff1a;[ECharts] …需求 左右结构的div可以根据数据抬起按下进行拉伸修改容器宽度的操作给左右结构某一图表设置拉伸自适应左右结构都设置个最小宽度只能到一定区域内拉伸解决echarts的bug重复加载chart实例[ECharts] There is a chart instance already initialized on the dom.解决浏览器兼容性报错问题 5.解决echarts在flex布局下宽高不显示问题 1.效果 2.左右结构布局 左右布局给定一个基础的宽度并且给最小宽度min-width如果不给最小宽度那么拉伸的时候会拉到底到时候其他元素挤压或者是隐藏了就不太好 templatediv classcontent-boxdiv classcontainerdiv classcontainer_boxdiv classleft :style{ width: leftWidth px }左侧内容区/divdiv classcenter/divdiv classright :style{ width: rightWidth px }div classright_top右上内容区/div!-- echarts图标区 --div idechartsWarpdiv idmyChat :style{ width: 100%, height: 100% }/div/div/div/div/div/div /templatescript export default {data() {return {isResizing: false,containerWidth: 600,leftWidth: 300,rightWidth: 400};},mounted() {},methods: {} }; /scriptstyle langscss scoped .container_box {display: flex;height: 500px;width: 100%;.left {min-width: 300px;background-color: #ddd;}.center {min-width: 10px;height: 100%;background-color: #c7adad;cursor: col-resize;}.right {background-color: #d3e2d1;flex: 1;min-width: 500px;display: flex;flex-direction: column;.right_top {height: 60px;}#echartsWarp {height: calc(100vh - 300px);}} } /style效果如下 3.拉伸效果实现 首先下载echarts不用多说下载最新版就行 npm install echarts -S 2.局部导入和全局导入根据自己的需求来 局部导入在需要用到的页面导入即可为了各位看的更明白我用的是局部导入的方式 import * as echarts from echarts; 全局导入在main.js文件导入挂载 import echarts from echarts; Vue.prototype.$echarts echarts; 全局导入后在页面使用 this.$echarts.方法名 3.在中间灰色区域添加个鼠标按下事件 templatediv classcontent-boxdiv classcontainerdiv classcontainer_boxdiv classleft :style{ width: leftWidth px }左侧内容区/divdiv classcenter mousedownonMouseDown/divdiv classright :style{ width: rightWidth px }div classright_top右上内容区/div!-- echarts图标区 --div idechartsWarpdiv idmyChat :style{ width: 100%, height: 100% }/div/div/div/div/div/div /templatescript export default {data() {return {isResizing: false,containerWidth: 600,leftWidth: 200,rightWidth: 400};},mounted() {},methods: {onMouseDown() {// 鼠标按下时开始拖动this.isResizing true;// 监听鼠标移动事件document.addEventListener(mousemove, this.onMouseMove);// 监听鼠标松开事件document.addEventListener(mouseup, this.onMouseUp);},onMouseMove(event) {if (this.isResizing) {// 计算鼠标在容器中的位置const containerRect this.$el.getBoundingClientRect();const mouseX event.clientX - containerRect.left;// 更新左侧和右侧容器的宽度this.leftWidth mouseX;this.rightWidth this.containerWidth - mouseX;}},onMouseUp() {// 鼠标松开时停止拖动this.isResizing false;// 移除监听鼠标移动和松开事件document.removeEventListener(mousemove, this.onMouseMove);document.removeEventListener(mouseup, this.onMouseUp);}} }; /scriptstyle langscss scoped .container_box {display: flex;height: 500px;width: 100%;.left {min-width: 300px;background-color: #ddd;}.center {min-width: 10px;height: 100%;background-color: #c7adad;cursor: col-resize;}.right {background-color: #d3e2d1;flex: 1;min-width: 500px;display: flex;flex-direction: column;.right_top {height: 60px;}#echartsWarp {height: calc(100vh - 300px);}} } /style效果 3.添加echarts图表 如果是按照以前的办法不能实现自适应的哈只能说把图标显示出来了但是在拉伸的时候折线图不能自适应。 解决echarts的bug重复加载chart实例关键代码如下 if (//判断是否存在echarts实例化对象,如果存在则销毁this.chartsDom ! null this.chartsDom ! this.chartsDom ! undefined) {this.chartsDom.dispose();} templatediv classcontent-boxdiv classcontainerdiv classcontainer_boxdiv classleft :style{ width: leftWidth px }左侧内容区/divdiv classcenter mousedownonMouseDown/divdiv classright :style{ width: rightWidth px }div classright_top右上内容区/div!-- echarts图标区 --div idechartsWarpdiv idmyChat :style{ width: 100%, height: 100% }/div/div/div/div/div/div /templatescript import * as echarts from echarts; export default {data() {return {isResizing: false,containerWidth: 600,leftWidth: 200,rightWidth: 400};},mounted() {this.echartsDom();},methods: {echartsDom() {// 基于准备好的dom初始化echarts实例this.$nextTick(_ {if (//判断是否存在echarts实例化对象,如果存在则销毁this.chartsDom ! null this.chartsDom ! this.chartsDom ! undefined) {this.chartsDom.dispose();}const dom document.getElementById(myChat);dom.style.width dom.parentNode.parentNode.clientWidth px;this.chartsDom echarts.init(dom); //创建echarts实例化对象this.chartsDom.clear(); //清空画布数据//设置对应的参数,标题,x轴,y轴坐标,以及显示的数据let options {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [820, 932, 901, 934, 1290, 1330, 1320],type: line,smooth: true}]};this.chartsDom.setOption(options);this.chartsDom.resize();setTimeout(function() {window.addEventListener(resize, () {this.chartsDom.resize();});}, 200);});},onMouseDown() {// 鼠标按下时开始拖动this.isResizing true;// 监听鼠标移动事件document.addEventListener(mousemove, this.onMouseMove);// 监听鼠标松开事件document.addEventListener(mouseup, this.onMouseUp);},onMouseMove(event) {if (this.isResizing) {// 计算鼠标在容器中的位置const containerRect this.$el.getBoundingClientRect();const mouseX event.clientX - containerRect.left;// 更新左侧和右侧容器的宽度this.leftWidth mouseX;this.rightWidth this.containerWidth - mouseX;}},onMouseUp() {// 鼠标松开时停止拖动this.isResizing false;// 移除监听鼠标移动和松开事件document.removeEventListener(mousemove, this.onMouseMove);document.removeEventListener(mouseup, this.onMouseUp);}} }; /scriptstyle langscss scoped .container_box {display: flex;height: 500px;width: 100%;.left {min-width: 300px;background-color: #ddd;}.center {min-width: 10px;height: 100%;background-color: #c7adad;cursor: col-resize;}.right {background-color: #d3e2d1;flex: 1;min-width: 500px;display: flex;flex-direction: column;.right_top {height: 60px;}#echartsWarp {height: calc(100vh - 300px);}} } /style效果 4.解决echarts图表没有根据拉伸自适应问题完整代码 1.下载element-resize-detector npm install element-resize-detector -S2.局部导入 var elementResizeDetectorMaker require(element-resize-detector); 3.完整代码如下 templatediv classcontent-boxdiv classcontainerdiv classcontainer_boxdiv classleft :style{ width: leftWidth px }左侧内容区/divdiv classcenter mousedownonMouseDown/divdiv classright :style{ width: rightWidth px }div classright_top右上内容区/divdiv idechartsWarpdiv idmyChat :style{ width: 100%, height: 100% }/div/div/div/div/div/div /template script //elementResizeDetectorMaker该全局函数是使元素调整大小检测器实例的maker函数。 var elementResizeDetectorMaker require(element-resize-detector); import * as echarts from echarts; export default {name: Index,data() {return {isResizing: false,containerWidth: 600,leftWidth: 200,rightWidth: 400,chartsDom: null};},mounted() {this.changeEchartsWidthApi();},methods: {//监听盒子大小,改变echarts宽度,实现echarts自适应changeEchartsWidthApi() {// 创建实例无参数var erd elementResizeDetectorMaker(); //使用默认选项将使用基于对象的方法// 创建实例带参数// 使用基于超快速滚动的方法。// 这是推荐的策略。var erdUltraFast elementResizeDetectorMaker({strategy: scroll,callOnAdd: true, //callOnAdd选项用于确定在添加侦听器时是否应调用它们。默认为true。//如果为true则确保在添加侦听器后将对其进行调用。如果为false则在添加侦听器时将不保证其//被调用不会阻止其被调用debug: true});//监听class为staticNextMain的元素 大小变化var self this;//侦听元素的调整大小事件并使用元素作为调整大小事件的参数来调用侦听器函数。传递给函数的选项将//覆盖实例选项erd.listenTo(document.getElementById(echartsWarp), function(element) {self.ChartsApi();});},ChartsApi() {// 基于准备好的dom初始化echarts实例this.$nextTick(_ {if (//判断是否存在echarts实例化对象,如果存在则销毁this.chartsDom ! null this.chartsDom ! this.chartsDom ! undefined) {this.chartsDom.dispose();}const dom document.getElementById(myChat);dom.style.width dom.parentNode.parentNode.clientWidth px;this.chartsDom echarts.init(dom); //创建echarts实例化对象this.chartsDom.clear(); //清空画布数据//设置对应的参数,标题,x轴,y轴坐标,以及显示的数据let options{xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [820, 932, 901, 934, 1290, 1330, 1320],type: line,smooth: true}]}this.chartsDom.setOption(options);this.chartsDom.resize();setTimeout(function() {window.addEventListener(resize, () {this.chartsDom.resize();});}, 200);});},onMouseDown() {// 鼠标按下时开始拖动this.isResizing true;// 监听鼠标移动事件document.addEventListener(mousemove, this.onMouseMove);// 监听鼠标松开事件document.addEventListener(mouseup, this.onMouseUp);},onMouseMove(event) {if (this.isResizing) {// 计算鼠标在容器中的位置const containerRect this.$el.getBoundingClientRect();const mouseX event.clientX - containerRect.left;// 更新左侧和右侧容器的宽度this.leftWidth mouseX;this.rightWidth this.containerWidth - mouseX;}},onMouseUp() {// 鼠标松开时停止拖动this.isResizing false;// 移除监听鼠标移动和松开事件document.removeEventListener(mousemove, this.onMouseMove);document.removeEventListener(mouseup, this.onMouseUp);}} }; /script style langscss scoped .container_box {display: flex;height: 500px;width: 100%;.left {min-width: 300px;}.center {min-width: 10px;height: 100%;background-color: #c7adad;cursor: col-resize;}.right {flex: 1;min-width: 500px;display: flex;flex-direction: column;.right_top {height: 60px;}#echartsWarp {height: calc(100vh - 300px);}} } /style文章到此结束希望对你有所帮助~
http://www.hkea.cn/news/14330409/

相关文章:

  • 做网站需要什么配置网站开发 天津
  • 个网站能申请贝宝支付接口施工企业研发资金投入情况说明
  • 网站开发证湛江网站建设皆选小罗23
  • 台州网站制作系统分析怎么写哈尔滨建站哪个好
  • 免费表白网站制作网站开发得多少钱
  • flv网站建设wordpress json 插件
  • 电商网站设计图百度一下生活更好
  • 现在海外做的比较好一点的网站有哪些做网站优化的公司
  • 大型国企网站建设费用wordpress vps 安装
  • 怎样将整个网站小程序开发平台软件
  • 简述建设网站的具体步骤垂直网站建设
  • 南昌网站设计怎么选项目建设内容及规模怎么写
  • 网站开发工具最好用wordpress 注册填密码
  • 建设一个网站多少钱wordpress默认播放器怎么用
  • 织梦网站怎么做301wordpress学人的冬天
  • 自己做网站投放广告成都创业平台
  • 中国网站开发公司排名广州住房建设部网站
  • 招聘网站建设价格网页设计100个方法
  • 京山网站建设宠物医院网站开发背景
  • 泉州模板建站公司wordpress xampp 本地 慢
  • 海口会计报名网站克隆网站首页做单页站几个文件夹
  • 网站建设和app哪个好江西短视频搜索seo哪家好
  • 做网站的需要什么软件临海高端网站设计新感觉建站
  • FLASK做wiki网站258网站建设
  • 哪个网站做ppt模板赚钱中文字幕mv在线观看
  • wordpress如何做网站网站源码网址修改
  • wordpress适合视频网站吗宿迁网页设计培训
  • 做网站维护价格上海企业建站提供商
  • 网站怎么做长尾词网站建设管理情况的通报
  • 周口市建设职工培训中心网站做电影网站要买什么