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

政府门户网站建设方案网络推广网站电话

政府门户网站建设方案,网络推广网站电话,wordpress登不上,做家具有那个网站在uni-ui中找不到对应的工具 后面想想也是 移动端取色干什么&#xff1f; 没办法 也挂不住特殊需求 因为去应用市场下载 这总东西 又不是很有必要 那么 下面这个组件或许能解决您的烦恼 <template><view class"content"><view class"dialog&…

在uni-ui中找不到对应的工具

后面想想也是 移动端取色干什么?
没办法 也挂不住特殊需求

因为去应用市场下载 这总东西 又不是很有必要

那么 下面这个组件或许能解决您的烦恼

<template><view class="content"><view class="dialog"><view id="colorBg" class="colorBg" @touchstart="startTouch" @touchmove="moveIng"@touchend="endTouch"><view class="roundBuff" :catchtouchmove="true" @c.stop="()=>{}" :style="'transform:rotate(' +degrees +'deg)'"></view><view class="colorPan" :style="'color:'+getColorByDeg(this.degrees)">拖转轮播取色</view></view><view class="flex" style="margin-top: 100rpx;"><button class="lee_btn" @click.stop = "close" type="default">取消</button><button class="lee_btn" @click.stop = "readColor" type="default">确认</button></view></view></view>
</template><script>export default {data() {return {pointerShow: true,colorPanWidth: 20,colorPanRadius: 0,pointerBox: {},degrees: 0}},mounted() {uni.getSystemInfo({success: (res) => {uni.createSelectorQuery().select('#colorBg').boundingClientRect((rect) => {this.pointerBox = rect}).exec()this.colorPanRadius = res.screenWidth * 0.4}})},methods: {close(){this.$emit('close');},readColor(){let colro = this.getColorByDeg(this.degrees);this.$emit('change',colro);},rbg2Hex(r, g, b) {return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);},calculationScheme(deg) {deg = 360- deg + 120const r = Math.round(Math.sin((deg * 2 * Math.PI) / 360) * 255)const g = Math.round(Math.sin(((deg + 120) * 2 * Math.PI) / 360) * 255)const b = Math.round(Math.sin(((deg + 240) * 2 * Math.PI) / 360) * 255)return this.colorRgbToHex(`rgb(${r},${g},${b})`);},startTouch(e) {const {pageX,pageY} = e.touches[0]this.rotatePointer(pageX, pageY)},endTouch(e) {const {pageX,pageY} = e.changedTouches[0]this.rotatePointer(pageX, pageY)},moveIng(e) {const {pageX,pageY} = e.touches[0]this.rotatePointer(pageX, pageY)},rotatePointer(pageX = 0, pageY = 0) {const {pointerBox,colorPanWidth} = thisconst mouseX = pageX - colorPanWidthconst mouseY = pageY - colorPanWidthvar centerY = pointerBox.top + (pointerBox.height / 2) - 0,centerX = pointerBox.left + (pointerBox.height / 2) - 0,radians = Math.atan2(mouseX - centerX, mouseY - centerY)this.degrees = (radians * (180 / Math.PI) * -1) + 180;},getColorByDeg(deg) {deg = 360- deg + 120const r = Math.round(Math.sin((deg * 2 * Math.PI) / 360) * 255)const g = Math.round(Math.sin(((deg + 120) * 2 * Math.PI) / 360) * 255)const b = Math.round(Math.sin(((deg + 240) * 2 * Math.PI) / 360) * 255)return `rgb(${r},${g},${b})`},colorRgbToHex(rgbStr) {const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8}|[0-9a-fA-f]{6}[0-9]{2})$/;if (reg.test(rgbStr)) {return rgbStr} else {const rgbArray = rgbStr.replace(/(?:\(|\)|rgba|rgb|RGBA|RGB)*/g, "").split(",");let strHex = "#";for (let i = 0; i < rgbArray.length; i++) {if (i !== 3) {if (rgbArray[i] == "0") {strHex += "00"} else {let newItem =Number(rgbArray[i]).toString(16)if (newItem.length < 2){newItem = "0" + newItem}strHex += newItem}} else {strHex += rgbArray[i] == "0" ? "" : Number(rgbArray[i]) * 100}}return strHex;}}}}
</script><style>.dialog {display: block;border-radius: 30rpx;background-color: #303030;margin: 20rpx;padding: 30rpx;}.flex {display: flex;justify-content: space-between;}.colorBg {width: 80vw;height: 80vw;margin: 5vw;background: conic-gradient(red,yellow,lime,aqua,blue,fuchsia,red);border-radius: 50%;position: relative;display: flex;justify-content: center;align-items: center;}.roundBuff {width: 55vw;height: 55vw;-webkit-transform-origin: center 50%;transform-origin: center 50%;background: #303030;border-radius: 50%;}.roundBuff::before {content: "";width: 15px;height: 15px;background: #303030;border: solid #303030;border-width: 10px 10px 0 0;transform: translate(-50%, -50%) rotate(-45deg);position: absolute;left: 50%;top: 2%;
}.lee_btn {background: #00000000;color: #FFFFFF;width: 36%;height: 80rpx;line-height: 70rpx;text-align: center;justify-content: center;font-size: 30rpx;border-radius: 50rpx;border: 5rpx #FFFFFF solid;font-weight: bold;padding: 1px 20px;}.colorPan {position: absolute;color: #FFFFFF;}
</style>

直接将整个组件复制过去 接口使用
在这里插入图片描述
组件有两个方法
change 当你点击确定时触发 返回 RGB 色码
close 当你点击取消时触发
在这里插入图片描述

http://www.khdw.cn/news/22551.html

相关文章:

  • 企业建站系统cms长沙网站推广 下拉通推广
  • wordpress国外主题下载好的seo公司营销网
  • 传媒大学附近网站建设公司网站关键字优化
  • 速成网站-百度宣传广告要多少钱
  • 张家界网站定制营销方案的几个要素
  • 龙岗企业网站改版公司搜索引擎优化的基本内容
  • 网站被k后是怎样的网络推广方法
  • 域名做网站自己的电脑百度快照投诉中心人工电话
  • 一个网站如何做盈利网络推广外包怎么接单
  • dedecms 做门户网站电商平台推广方式有哪些
  • 品牌 网站建设怎么进行网络营销
  • 动易网站开发在线识别图片百度识图
  • 做淘宝客网站好搭建吗武汉百度开户代理
  • 今日新闻最新头条10条内容seo方法图片
  • 郑州市网站建设百度正版下载
  • 外贸工厂的网站建设青岛seo排名扣费
  • 如何在网站上做淘宝客推广西安整站优化
  • 河北建设厅网站查询百度seo排名软
  • 建个微网站多少钱百度网页入口
  • 静态网站中怎么做图片切换9个广州seo推广神技
  • 网站开发流程三部分福建省人民政府门户网站
  • 什么网站是html5做的网页制作培训网站
  • 教育网站建设需求分析报告网上怎么找客户资源
  • 西安培训网站建设网站推广教程
  • mac os 做网站网站维护费用一般多少钱
  • 做网商要创建网站吗b2b电子商务平台
  • 长春哪家做网站便宜太原网站推广排名
  • 西安网站排名优化营销策划公司排名
  • 网站建设与维护学什么seo研究中心超逸seo
  • 网站 在线支付功能百度搜索推广操作简要流程