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

网站下方一般放什么开发一套程序多少钱

网站下方一般放什么,开发一套程序多少钱,网站程序免费下载,免费软件版免费下载一、如下图所示效果#xff1a; 运行后入下图所示效果#xff1a; 实现原理是用div画图并动态改变进度#xff0c; 二、div源码 div stylewidth: 100%;div classsdg_title styleheight: 35px;!--对话组[{{ dialo…一、如下图所示效果 运行后入下图所示效果 实现原理是用div画图并动态改变进度 二、div源码 div stylewidth: 100%;div classsdg_title styleheight: 35px;!--对话组[{{ dialogGroup.index }}]编辑--div classsdg_title_btnsa-button sizemini clickdeleteCurrentBlock删除/a-buttondiv classsdg_split/diva-button sizemini clickplay v-ifisPlay ! 播放中运行/a-buttona-button sizemini clickpause v-ifisPlay 播放中暂停/a-buttona-button sizemini clickstop v-ifisPlay ! 未播放停止/a-buttondiv classsdg_split/divdiv stylebox-sizing: border-box; display: flex; justify-content: center; align-items: center;span最小刻度单位/spana-radio-group v-model:valuescaleUnit changeinita-radio-button value秒1秒/a-radio-buttona-radio-button value5秒5秒/a-radio-buttona-radio-button value10秒10秒/a-radio-button/a-radio-group/divdiv stylepadding-left: 10px;span刻度总时长/spana-input-number v-model:valueinitData.period placeholder请输入任务想定名称stylewidth: 80px changemaxPeriodChange/a-input-number/div/div/divdiv styleposition: relative; width: 100%; display: flex; flex-direction: row;!--title--div stylewidth: 150px; height: 250px; classscrolldiv classblockTitle刻度(总时长)/divdiv classblockTitle2A项/divdiv classblockTitle2B项/div/divdiv stylewidth: calc(100% - 150px); height: 250px; classscroll!--刻度表--div classtimeScaleBlock :style{ width: maxWidth px }div v-forval in maxWidth / 100 :keyval classoneScaleUnit!--刻度主线--div classmainLine/div!--长刻度线--div classlongLine styleleft: -1px/divdiv classlongLine styleleft: 48pxdiv classmiddleScaleValue v-ifscaleUnit 5秒{{ formatSecond((val * 10 - 5) * 5) }}/divdiv classmiddleScaleValue v-else-ifscaleUnit 10秒{{ formatSecond((val * 10 - 5) * 10) }}/divdiv classmiddleScaleValue v-else{{ formatSecond((val * 10 - 5)) }}/div/div!--短刻度线--div classshortLine styleleft: 9px/divdiv classshortLine styleleft: 19px/divdiv classshortLine styleleft: 28px/divdiv classshortLine styleleft: 38px/divdiv classshortLine styleleft: 58px/divdiv classshortLine styleleft: 68px/divdiv classshortLine styleleft: 78px/divdiv classshortLine styleleft: 88px/div/divdiv classleftBorder v-ifclickBlock :style{ left: leftBorderValue }↑div classborderValue{{ formatSecond(clickBlock.startTime) }}/div/divdiv classleftBorder v-ifclickBlock :style{ left: rightBorderVaule }↑div classborderValue{{ formatSecond(clickBlock.endTime) }}/div/div!--播放进度三尖角--div classtriangleDiv :style{ left: triangleDivLeft px }span classsecond{{ formatSecond(startTime) }}/span/div/div!--背景信号--div classstationBlock idbackgroundTimeLineDiv v-ifinitData :style{ width: maxBlockWidth px } mousemovebgMousemove mouseupbgMouseup mouseleavebgMouseleavediv :iditem.idclasstae_base_block1v-for(item, index) in initData.backgroundTimeLine :keyindexmousedowndialogueBlockClick(item):class{ block_selected1: clickBlock clickBlock.id item.id }:style{ width: item.widthPx, left: item.leftPx }div classblockItem{{ item.name }}/divdiv classblockItem{{ item.period }}秒/div/div!-- 拖拽进入的临时模块 --div v-iftempBlockData tempBlockData.blockType signal classtae_base_block1_temp :style{ width: tempBlockData.widthPx, left: tempBlockData.leftPx }div classblockItem{{ tempBlockData.name }}/divdiv classblockItem{{ tempBlockData.period }}秒/div/div/div!--设备部署--div classstationBlock v-ifinitData :style{ width: maxBlockWidth px } mousemovebgMousemove mouseupbgMouseup mouseleavebgMouseleavediv :iditem.idclasstae_base_block2v-for(item, index) in initData.equipmentTimeLine :keyindexmousedowndialogueBlockClick(item):class{ block_selected2: clickBlock clickBlock.id item.id }:style{ width: item.widthPx, left: item.leftPx }div classblockItem{{ item.name }}/divdiv classblockItem{{ item.period }}秒/div/div!-- 拖拽进入的临时模块 --div v-iftempBlockData tempBlockData.blockType place classtae_base_block2_temp :style{ width: tempBlockData.widthPx, left: tempBlockData.leftPx }div classblockItem{{ tempBlockData.name }}/divdiv classblockItem{{ tempBlockData.period }}秒/div/div/div!--播放背景布--div v-ifstartTime 0 classstationPlayBlock :style{ width: triangleDivLeft 6 px}/div/div/div/div script源码如下 script import { mapState, mapActions } from vuex import { message } from ant-design-vue export default {name: DialogBlockEditor,components: {},props: {initDefaultData: {type: Object,default: () {return null}},dialogGroup: {type: Object,default: () {return null}},},computed: {...mapState([runningScenario]),leftBorderValue() {let unit 1if (this.scaleUnit 5秒) {unit 5} else if (this.scaleUnit 10秒) {unit 10}return (10 * this.clickBlock.startTime) / unit - 7 px},rightBorderVaule() {let unit 1if (this.scaleUnit 5秒) {unit 5} else if (this.scaleUnit 10秒) {unit 10}return (10 * this.clickBlock.endTime) / unit - 7 px},isPlay() {if (this.startTime 0 this.timer null) {return 未播放} else if (this.startTime 0 this.timer null) {return 暂停中} else {return 播放中}}},data() {return {initData: {startTime: 0,period: 60, // 任务总时长backgroundTimeLine: [{name: 素材1,type: signal,period: 10,startTime: 10,},], // 时间线equipmentTimeLine: [{name: 素材1,type: place,period: 10,startTime: 10,},], // 时间线},loading: false,maxWidth: 2000,maxBlockWidth: 1000,scaleUnit: 秒,dialogueBlock: null,clickBlock: null,dataList: [],audioSrc: ,triangleDivLeft: -6,timer: null,startTime: 0,tempData: null,tempBlockData: null,clientLeft: 0,}},mounted() {if(this.initDefaultDatanull){this.initDefaultDatathis.initData}else{this.initDatathis.initDefaultData}this.init()setTimeout(() {let backgroundTimeLineDiv document.getElementById(backgroundTimeLineDiv)this.clientLeft backgroundTimeLineDiv.getBoundingClientRect().left}, 2000)},beforeDestroy() {this.stop()},methods: {...mapActions([runScenario, stopScenario]),async init() {if (this.scaleUnit 5秒) {this.maxWidth Math.ceil(this.initData.period / 50) * 100this.maxBlockWidth this.initData.period * 2} else if (this.scaleUnit 10秒) {this.maxWidth Math.ceil(this.initData.period / 100) * 100this.maxBlockWidth this.initData.period} else {this.maxWidth Math.ceil(this.initData.period / 10) * 100this.maxBlockWidth this.initData.period * 10}let sortNumber 0for (let backgroundData of this.initData.backgroundTimeLine) {backgroundData.id Tool.uuid(8, 32)backgroundData.leftPx this.timeToPx(backgroundData.startTime - this.initData.startTime)backgroundData.widthPx this.timeToPx(backgroundData.period)backgroundData.endTime backgroundData.startTime backgroundData.periodbackgroundData.blockType backgroundData.typebackgroundData.sortNumber sortNumber// rightPx: this.timeToPx(dialogueDetail[0] - this.initData.startTime dialogue.period)}sortNumber 0for (let equipmentData of this.initData.equipmentTimeLine) {equipmentData.id Tool.uuid(8, 32)equipmentData.leftPx this.timeToPx(equipmentData.startTime - this.initData.startTime)equipmentData.widthPx this.timeToPx(equipmentData.period)equipmentData.endTime equipmentData.startTime equipmentData.periodequipmentData.blockType equipmentData.typeequipmentData.sortNumber sortNumber// rightPx: this.timeToPx(dialogueDetail[0] - this.initData.startTime dialogue.period)}this.$nextTick(() {this.initBlockClickEvent()})},/*** 增加素材到刻度尺* param data 素材数据* param type */addBlock(data, type) {if (type signal) {this.initData.backgroundTimeLine.push(data)} else if (type place) {this.initData.equipmentTimeLine.push(data)}this.init()},timeToPx(time) {switch (this.scaleUnit) {case 秒:return time * 10 pxcase 5秒:return time * 2 pxcase 10秒:return time px}},pxToTime(px) {switch (this.scaleUnit) {case 秒:return Math.round(px / 10) this.initData.startTimecase 5秒:return Math.round(px / 2) this.initData.startTimecase 10秒:return px this.initData.startTime}},async dataConfirm() {this.$emit(save-scheme-dialog, this.initData)},dialogueBlockClick(block) {this.clickBlock block},deleteCurrentBlock() {if (this.clickBlock) {if (this.clickBlock.blockType signal) { // 删除的for (let index in this.initData.backgroundTimeLine) {if (this.initData.backgroundTimeLine[index].id this.clickBlock.id) {this.initData.backgroundTimeLine.splice(index, 1)break}}} else {for (let index in this.initData.equipmentTimeLine) { // 删除的是if (this.initData.equipmentTimeLine[index].id this.clickBlock.id) {this.initData.equipmentTimeLine.splice(index, 1)break}}}this.clickBlock nullmessage.success(删除成功)this.init()} else {message.error(未选择台词块)}},initBlockClickEvent() {for (let dialogueWrapper of this.initData.backgroundTimeLine) {let dom document.getElementById(dialogueWrapper.id)dom.onmousedown (e) {this.onmousedownEvent(e, dialogueWrapper)}}for (let dialogueWrapper of this.initData.equipmentTimeLine) {let dom document.getElementById(dialogueWrapper.id)dom.onmousedown (e) {this.onmousedownEvent(e, dialogueWrapper)}}},maxPeriodChange(){this.init()},onmousedownEvent(event, clickBlock) {let disX event.clientXlet oldLeftPx Number.parseFloat(clickBlock.leftPx)document.onmousemove (me) {let offsetPx me.clientX - disXswitch (this.scaleUnit) {case 秒:offsetPx Math.round(offsetPx / 10) * 10breakcase 5秒:offsetPx Math.round(offsetPx / 2) * 2breakcase 10秒:break}offsetPx oldLeftPx// 边界处理let preBlock null, nextBlock nullif (clickBlock.blockType signal) { //if (clickBlock.sortNumber 0) {preBlock this.initData.backgroundTimeLine[clickBlock.sortNumber - 1]}if (this.initData.backgroundTimeLine[clickBlock.sortNumber 1]) {nextBlock this.initData.backgroundTimeLine[clickBlock.sortNumber 1]}} else { // if (clickBlock.sortNumber 0) {preBlock this.initData.equipmentTimeLine[clickBlock.sortNumber - 1]}if (this.initData.equipmentTimeLine[clickBlock.sortNumber 1]) {nextBlock this.initData.equipmentTimeLine[clickBlock.sortNumber 1]}}// 左边重合if (preBlock) {if (offsetPx Number.parseInt(preBlock.leftPx) Number.parseInt(preBlock.widthPx)) { // 重合了offsetPx Number.parseInt(preBlock.leftPx) Number.parseInt(preBlock.widthPx)}} else {if (offsetPx 0) {offsetPx 0}}// 判断右边重合if (nextBlock) {if (offsetPx Number.parseInt(clickBlock.widthPx) Number.parseInt(nextBlock.leftPx)) {offsetPx Number.parseInt(nextBlock.leftPx) - Number.parseInt(clickBlock.widthPx)}}clickBlock.leftPx offsetPx pxclickBlock.startTime this.pxToTime(offsetPx)clickBlock.endTime clickBlock.startTime clickBlock.period}document.onmouseup () {document.onmousemove nulldocument.onmouseup null}},closeDialog() {this.$emit(close-dialog)return false},play() {this.timer setInterval(() {this.startTimethis.calcTriangleDivLeft()for (let block of this.initData.backgroundTimeLine) {if (!block.status) { // 还未运行if (this.startTime block.startTime this.startTime block.endTime) {block.status runningthis.runScenario({_this: this,scenario: this.initData,callback: () {}})break}} else if (block.status running) { // 正在运行if (this.startTime block.endTime) {block.status endedbreak}}}for (let block of this.initData.equipmentTimeLine) {if (!block.status) { // 还未运行if (this.startTime block.startTime this.startTime block.endTime) {block.status runningbreak}} else if (block.status running) { // 正在运行if (this.startTime block.endTime) {block.status endedbreak}}}if (this.startTime this.initData.period) { // 播放完成了this.stop()}}, 1000)message.success(开始播放)},pause() {if (this.timer) {try {clearInterval(this.timer)} catch (e) {}}this.timer nullmessage.success(暂停)},stop() {if (this.timer) {try {clearInterval(this.timer)} catch (e) {}}this.timer nullthis.startTime 0this.triangleDivLeft -6for (let block of this.initData.backgroundTimeLine) {block.status null}for (let block of this.initData.equipmentTimeLine) {block.status null}message.success(停止)},calcTriangleDivLeft() {switch (this.scaleUnit) {case 秒:this.triangleDivLeft this.startTime * 10 - 6breakcase 5秒:this.triangleDivLeft this.startTime * 2 - 6breakcase 10秒:this.triangleDivLeft this.startTime - 6breakcase 分:this.triangleDivLeft this.startTime * 10 / 60 - 6breakcase 5分:this.triangleDivLeft this.startTime * 10 / 300 - 6breakcase 10分:this.triangleDivLeft this.startTime * 10 / 600 - 6break}},formatSecond(value) {value value || 0;let second parseInt(value, 10); // 秒let minute 0; // 分let hour 0; // 小时if (second 60) {// 当大于60秒时才需要做转换minute Math.floor(second / 60);second Math.floor(second % 60);if (minute 60) {hour Math.floor(minute / 60);minute Math.floor(minute % 60);}} else {// 小于60秒时直接显示不需要处理}let result Tool.PrefixInteger(second, 2) ;// 拼上分钟result Tool.PrefixInteger(minute, 2) : result;// 拼上小时result Tool.PrefixInteger(hour, 2) : result;return result},bgMousemove(e) {if (this.tempData) {document.body.style.cursor movelet offsetPx e.clientX - this.clientLeftswitch (this.scaleUnit) {case 秒:offsetPx Math.round(offsetPx / 10) * 10breakcase 5秒:offsetPx Math.round(offsetPx / 2) * 2breakcase 10秒:break}let startTime this.pxToTime(offsetPx)this.tempBlockData {id: Tool.uuid(8, 32),name: this.tempData.name,period: this.tempData.period,leftPx: offsetPx px,widthPx: this.timeToPx(this.tempData.period),startTime: startTime,endTime: startTime this.tempData.period,blockType: this.tempData.type,}// 判断是否重合if (this.judgeBlockCoincidence(this.tempBlockData)) { // 重合了document.body.style.cursor not-allowedthis.tempBlockData.success false}else { // 没有重合document.body.style.cursor movethis.tempBlockData.success true}}},bgMouseup(e) {document.body.style.cursor autoif (this.tempBlockData this.tempBlockData.success) {let tempData Tool.deepCopy(this.tempData)tempData.startTime this.tempBlockData.startTimethis.initData.periodthis.tempBlockData.periodif (this.tempBlockData.blockType signal) {this.initData.backgroundTimeLine.push(tempData)this.initData.backgroundTimeLine.sort((a, b) a.startTime b.startTime ? 1 : -1)}else {this.initData.equipmentTimeLine.push(tempData)this.initData.equipmentTimeLine.sort((a, b) a.startTime b.startTime ? 1 : -1)}//console.log(规划-鼠标松开1,this.tempData.period)this.init()//console.log(规划-鼠标松开2,this.tempData.period)}this.tempBlockData nullthis.tempData null},bgMouseleave(e) {this.tempBlockData nulldocument.body.style.cursor auto},// 判断是否有重合judgeBlockCoincidence(blockData) {let list nullif (blockData.blockType signal) {list this.initData.backgroundTimeLine} else {list this.initData.equipmentTimeLine}for (let block of list) {if (blockData.startTime block.startTime blockData.startTime block.endTime) {return true}if (blockData.endTime block.startTime blockData.endTime block.endTime) {return true}}return false},setTempData(tempData) {this.tempData tempData},updata(tempData){this.initDatatempDatathis.init()}} } /script 运行时如有问题欢迎讨论
文章转载自:
http://www.morning.kgkph.cn.gov.cn.kgkph.cn
http://www.morning.xmbhc.cn.gov.cn.xmbhc.cn
http://www.morning.tnzwm.cn.gov.cn.tnzwm.cn
http://www.morning.tnjkg.cn.gov.cn.tnjkg.cn
http://www.morning.hkpyp.cn.gov.cn.hkpyp.cn
http://www.morning.krklj.cn.gov.cn.krklj.cn
http://www.morning.lbgfz.cn.gov.cn.lbgfz.cn
http://www.morning.sbyhj.cn.gov.cn.sbyhj.cn
http://www.morning.glxdk.cn.gov.cn.glxdk.cn
http://www.morning.fdsbs.cn.gov.cn.fdsbs.cn
http://www.morning.xmtzk.cn.gov.cn.xmtzk.cn
http://www.morning.hjlsll.com.gov.cn.hjlsll.com
http://www.morning.qstkk.cn.gov.cn.qstkk.cn
http://www.morning.qymqh.cn.gov.cn.qymqh.cn
http://www.morning.fywqr.cn.gov.cn.fywqr.cn
http://www.morning.xnqwk.cn.gov.cn.xnqwk.cn
http://www.morning.snxbf.cn.gov.cn.snxbf.cn
http://www.morning.tfcwj.cn.gov.cn.tfcwj.cn
http://www.morning.mslsn.cn.gov.cn.mslsn.cn
http://www.morning.cjqcx.cn.gov.cn.cjqcx.cn
http://www.morning.bpmdg.cn.gov.cn.bpmdg.cn
http://www.morning.kcdts.cn.gov.cn.kcdts.cn
http://www.morning.bwzzt.cn.gov.cn.bwzzt.cn
http://www.morning.ddzqx.cn.gov.cn.ddzqx.cn
http://www.morning.zbhfs.cn.gov.cn.zbhfs.cn
http://www.morning.clpdm.cn.gov.cn.clpdm.cn
http://www.morning.hgkbj.cn.gov.cn.hgkbj.cn
http://www.morning.dxqfh.cn.gov.cn.dxqfh.cn
http://www.morning.yrms.cn.gov.cn.yrms.cn
http://www.morning.glxdk.cn.gov.cn.glxdk.cn
http://www.morning.rckmz.cn.gov.cn.rckmz.cn
http://www.morning.dsncg.cn.gov.cn.dsncg.cn
http://www.morning.nlywq.cn.gov.cn.nlywq.cn
http://www.morning.qztdz.cn.gov.cn.qztdz.cn
http://www.morning.nlbhj.cn.gov.cn.nlbhj.cn
http://www.morning.qsszq.cn.gov.cn.qsszq.cn
http://www.morning.fthqc.cn.gov.cn.fthqc.cn
http://www.morning.fcrw.cn.gov.cn.fcrw.cn
http://www.morning.zqkms.cn.gov.cn.zqkms.cn
http://www.morning.pbsfq.cn.gov.cn.pbsfq.cn
http://www.morning.kkjlz.cn.gov.cn.kkjlz.cn
http://www.morning.qxlyf.cn.gov.cn.qxlyf.cn
http://www.morning.hwnqg.cn.gov.cn.hwnqg.cn
http://www.morning.ypzr.cn.gov.cn.ypzr.cn
http://www.morning.lqynj.cn.gov.cn.lqynj.cn
http://www.morning.ey3h2d.cn.gov.cn.ey3h2d.cn
http://www.morning.lmdfj.cn.gov.cn.lmdfj.cn
http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn
http://www.morning.krlsz.cn.gov.cn.krlsz.cn
http://www.morning.ntzbr.cn.gov.cn.ntzbr.cn
http://www.morning.lxkhx.cn.gov.cn.lxkhx.cn
http://www.morning.lsnnc.cn.gov.cn.lsnnc.cn
http://www.morning.znlhc.cn.gov.cn.znlhc.cn
http://www.morning.drbd.cn.gov.cn.drbd.cn
http://www.morning.tytly.cn.gov.cn.tytly.cn
http://www.morning.coatingonline.com.cn.gov.cn.coatingonline.com.cn
http://www.morning.fqyxb.cn.gov.cn.fqyxb.cn
http://www.morning.pthmn.cn.gov.cn.pthmn.cn
http://www.morning.swsrb.cn.gov.cn.swsrb.cn
http://www.morning.sgfpn.cn.gov.cn.sgfpn.cn
http://www.morning.qgfkn.cn.gov.cn.qgfkn.cn
http://www.morning.xknsn.cn.gov.cn.xknsn.cn
http://www.morning.qkbwd.cn.gov.cn.qkbwd.cn
http://www.morning.qsctt.cn.gov.cn.qsctt.cn
http://www.morning.lwdzt.cn.gov.cn.lwdzt.cn
http://www.morning.tbjtm.cn.gov.cn.tbjtm.cn
http://www.morning.pwxkn.cn.gov.cn.pwxkn.cn
http://www.morning.yrskc.cn.gov.cn.yrskc.cn
http://www.morning.rnwmp.cn.gov.cn.rnwmp.cn
http://www.morning.ptmgq.cn.gov.cn.ptmgq.cn
http://www.morning.xhpnp.cn.gov.cn.xhpnp.cn
http://www.morning.tdmgs.cn.gov.cn.tdmgs.cn
http://www.morning.wqrk.cn.gov.cn.wqrk.cn
http://www.morning.xcjbk.cn.gov.cn.xcjbk.cn
http://www.morning.kbqqn.cn.gov.cn.kbqqn.cn
http://www.morning.cfcdr.cn.gov.cn.cfcdr.cn
http://www.morning.youprogrammer.cn.gov.cn.youprogrammer.cn
http://www.morning.kjyfq.cn.gov.cn.kjyfq.cn
http://www.morning.tntgc.cn.gov.cn.tntgc.cn
http://www.morning.etsaf.com.gov.cn.etsaf.com
http://www.tj-hxxt.cn/news/276990.html

相关文章:

  • 检察机关加强网站建设怎么宣传自己的平台
  • 网站环境搭建福田做棋牌网站建设多少钱
  • 做签证的网站做网站设计的论文中摘要怎么写
  • 请解释网站开发的主要流程.蜀通建设集团
  • 可以做微信推文的网站时尚手表网站
  • 无锡网站建设推荐智勇麒麟网站建设
  • 网站设计制作价钱低导视设计案例
  • 新思维网站小型网站建设案例
  • 毕节网站建设与对策分析微信服务平台开发
  • 福州晋安区建设局网站深圳龙江网站设计
  • 芜湖网站建设费用学校网站构建
  • asp.net网站建设项目实战资料网络营销管理师
  • 西安做搭建网站网页翻译扩展
  • 网站可信认证wordpress 建视频网站
  • 外贸 国外推广网站wordpress招商平台
  • 如何让百度k掉网站中国搜索引擎排名2021
  • 网站建设 万户建站百度视频免费下载
  • 广州企业建站系统模板网站互动栏目设置
  • 去哪找做网站的人淘宝推广软件
  • 动易网站模板下载做网站不给提供ftp
  • visual studio制作网站开发怎样建个人网页免费
  • wordpress云建站系统认识电子商务网站建设技术
  • 使用阿里云建网站网站备案文件下载
  • 北京做网站推广的公司温州室内设计公司排名
  • 做网页设计网站有哪些招标网平台
  • 椒江建设网站电脑网站制作软件
  • 做原型的素材网站西安企业信息查询官网
  • 网站开发工具特点总结图片摄影网站
  • 国外做化学申报的网站第一环保网站建设项目环评公示
  • 黑龙江建设教育信息网站首页手机网价格直降