vue 固定范围内随机位置生成 图片(可其他东西)

先说一下思路:

  1. 在一个范围内(主要是为了确认随机生成的图片中心点在范围内)
  2. 拿到图片半径(可随机,看需求)
  3. 随机生成xy坐标 (left,top)
  4. 第一个判断:判断是否在规定范围内
    x (随机点的X) - r (半径) >=0 && y(随机点的Y)-r>=0
    x+r<= W(范围宽) && y+r<=H (范围高)
  5. 判断最新生成的 图片 范围内是否 有其他的图片
    假设我们生成的图片集合成一个 list:[{x:150,y:90,r:30},{x:240,y:70,r:30}…]
    最新的 图片:x: 260,y: 140,r:60
for(var i in list){if(list[i].x>=260&&list[i].x<=260+2*60){return false}if(list[i].y>=260&&list[i].y<=260+2*60){return false}
}

如果没有返回false,就把他丢到 list里面,即又生成一个。

开始实现
html

<div class="component" :style="`width:${clientWidth}px;height:${clientHeight}px;`"><template v-for="(item,index) in graphicsList"><div class="graphics" :key="index" :style="`left:${item.x}px;top:${item.y}px;`"><img src=""></div></template></div>

js

data() {return {clientHeight: null,clientWidth: null,// 半径 即图片100*100radius: 50, // 有随机要求可动态生成graphicsList:[]};},methods: {//  获取可视区域getClient(){// 获取html可视区域高度this.clientHeight = document.documentElement.clientHeight - 100  // 预留100px不紧贴屏幕this.clientWidth = document.documentElement.clientWidth - 120  // 预留120px不紧贴屏幕},// 随机生成图形位置(xy坐标)generateLocation(){let x = Math.floor(Math.random()*this.clientHeight) + this.radius  // 加 this.radius 保证图形中心在范围内,后面可少判断一步let y = Math.floor(Math.random()*this.clientWidth) + this.radiusreturn {x,y,r: this.radius}},// 生成generate(){let obj = this.generateLocation()// 判断是否在规定范围内 if(obj.x + obj.r>this.clientHeight){return false}if(obj.y + obj.r>this.clientHeight){return false}// 判断最新生成的 图片 范围内是否 有其他的图片 if(this.graphicsList.length!==0){for(var i in list){// 判断是否在规定范围内 if(list[i].x>= obj.x && list[i].x<= obj.x + (obj.r*2)){return false}if(list[i].y>= obj.x && list[i].y<= obj.x + (obj.r*2)){return false}if(Number(i)+1==list.length){this.graphicsList.push(obj)}}}else{this.graphicsList.push(obj)}},},

scss

.component {position: absolute;.demo {width: 100px;height: 100px;position: absolute;z-index: 2;img {position: relative;object-fit: contain;width: 100px;height: 100px;}}
}

vue 固定范围内随机位置生成 图片(可其他东西)相关推荐

  1. 随机位置显示图片不重叠前端实现详细讲解附效果图,代码可直接使用

    目录 先看看效果图 所要实现的功能 看看代码 js代码讲解: 下面看看完整代码吧 小程序版本完整代码 VUE版本的代码: 先看看效果图 所要实现的功能 在页面上随机的位置显示随机大小的图片,并且每个图 ...

  2. C#全屏随机位置显示图片的小程序

    想法:将屏幕截图作为程序背景图,在之上弹出提示窗口,选择确定后进行定时图片随机位置显示.(支持ESC键退出) 需要添加的控件:Timer 需要修改的Form1属性为下图红色区域: 资源文件的添加:添加 ...

  3. java 在某个范围内随机_java生成某个范围内的随机时间

    Date randomDate=randomDate("2010-09-20","2010-09-21"); /** * 生成随机时间 * @param beg ...

  4. 随机位置生成小方块案例

    每一秒改变所有小方块的颜色和位置,效果如图 html代码很简单,就是一个容器以及十个小方块 ```javascript <div id = 'container'></div> ...

  5. vue框架 行内样式 添加背景图片

    <div class="logo" :style="{width: concetWidth+'px',height: concetHeight+'px' , 'ba ...

  6. Android屏幕随机位置弹出View

    最近项目中人脸注册需要尽量多的捕捉人脸特征,就要想办法使得人脸在注册中呈现不同角度,于是想到在屏幕内随机位置弹出一个吸引注意力的View. 本文中主要用到: 1.view.setX();setY()方 ...

  7. Actor范围内随机生成 Learn Unreal Engine (with C++)

    Actor范围内随机生成 Learn Unreal Engine (with C++) SpaceshipBattle · fanxingin/UE4项目 - 码云 - 开源中国 (gitee.com ...

  8. 用 Python 自动生成 Word 文档并在指定位置插入图片

    用Python生成Word文档 在指定位置插入图片 首先当然需要第三方库啦(▽) 天才第一步,第三方的库O(∩_∩)O哈哈~ 参照转发的是这位大佬的博客:https://blog.csdn.net/c ...

  9. vue组件读取static文件夹内json文件的图片路径问题

    static是放置静态文件的地方,可以我们也会把json文件放在里面,但是经常我们会遇到读取josn文件内图片路径的问题,这个问题困了我两天,今天一大早就又开始研究这个问题,现在终于得到了解决,关于这 ...

最新文章

  1. oracle11g怎么显示中文,ORACLE11G中PLSQL中文显示乱码、Linux下sqlplus查询中文乱码
  2. dos窗口输入 pip 显示不是内部或外部命令
  3. SQL Server 中创建数据库、更改主文件组示例
  4. 第一阶段:前端开发_Mysql——表与表之间的关系
  5. 温故而知新 js 的错误处理机制
  6. Impala之DDL、DML
  7. qoq是什么意思的缩写_买鞋多年分不清PE、SE、TD什么意思?建议收藏,这些缩写一定要知道...
  8. python如何画出多个独立的图片_python使用matplotlib:subplot绘制多个子图的示例
  9. 智能锁行业安全分析报告
  10. 如何使用CSDN写博客?—CSDN基础知识汇总
  11. php京东接口开发,技术文档
  12. 5000个常用汉字(完整版) 繁体简体
  13. access数据库代做_矿井三维模型(代做矿山模型)
  14. 第三方支付对接-支付宝支付接入教程
  15. 如何将ape无损音转码为wav文件
  16. Example文件简介
  17. 有赞订单搜索AKF架构演进之路
  18. 记一次流量分析实战——安恒科技(八月ctf)
  19. MusicPlayerByService
  20. 帮助 help 命令

热门文章

  1. 下载附带.php,PHP开发的优客365网址导航商业精华版1.1.6版本源码带WAP手机版附带三款模板和四款插件-资源下载随便下源码网...
  2. CPU和GPU区别(GPU入门)
  3. 视觉SLAM十四讲学习记录 第二讲
  4. 什么是激活函数?它有什么作用?
  5. 【微服务模式】MS大使模式
  6. 纵谈地图应用中标识定位
  7. VB为报表盖电子图章
  8. iOS算法总结-希尔排序
  9. 想学好技术没有人带太难了
  10. 道琼斯指数与成分股关系分析