拿上一篇运行一下,感觉自己这个效果在边界处理的更好

<template>
<div class="ad">
<p>vue广告悬浮</p>
<img src="../assets/u=2610250996,3671218916&fm=26&gp=0.jpg" id="img" alt="">
<button @click="params()">run</button>
</div>
</template>
<script>
export default {
methods:{
params(){
let count = 11 //速度
// let count = 500 //速度
let stepX = 1
let stepY = 1
let img = document.getElementById('img')
let imgWidth = img.offsetWidth
let imgHeight = img.offsetHeight
let clientw = document.body.clientWidth; //1903(不包含滚动条)
let clienth = document.body.clientHeight; //866(不包含工具条)
let x = parseInt(img.getBoundingClientRect().left)
let y = parseInt(img.getBoundingClientRect().top)
setInterval(()=>{
let distenceX = clientw-x
let distenceY = clienth-y
if(distenceX-imgWidth<0||distenceX>clientw){
stepX = -stepX
}
if(distenceY-imgHeight<0||distenceY>clienth){
stepY = -stepY
}
x+=stepX
y+=stepY
this.changePos(img,x,y)
},count)
},
changePos(img,x,y){
img.style.left = x+'px'
img.style.top = y+'px'
}
}
}
</script> <style lang="stylus" scoped>
img
position absolute
left 0px
top 50px
width 45px
height 45px
</style>

后续发现居然在码农教程被发表了,哈哈

放个链接

vue.js写悬浮广告效果的更多相关文章

  1. 用vue.js写的一个瀑布流的组件

    用vue.js写的一个瀑布流的组件:https://segmentfault.com/a/1190000010741319 https://www.jianshu.com/p/db3cadc03402

  2. Vue.js实现tab切换效果

    利用Vue实现简易tab切换效果 1.1 在我们平时浏览网站的时候,经常看到的特效有图片轮播.导航子菜单的隐藏.tab标签的切换等等.这段时间学习了vue后,开始要写出一些简单的特效. 1.2 实现思 ...

  3. 使用Vue.js实现列表选中效果

     实际项目中,我们会遇到很多类似的需求,一个列表,需要点击其中一条高亮显示.熟悉JQuery的同学说这个太简单了.可以给这个选中的element设置一个active的class.配合Css样式,让ac ...

  4. Vue.js写一个SPA登录页面的过程

    技术栈 vue.js 主框架 vuex 状态管理 vue-router 路由管理 一般过程 在一般的登录过程中,一种前端方案是: 检查状态:进入页面时或者路由变化时检查是否有登录状态(保存在cooki ...

  5. 85、使用Vue.js实现列表选中效果

      实际项目中,我们会遇到很多类似的需求,一个列表,需要点击其中一条高亮显示.熟悉JQuery的同学说这个太简单了.可以给这个选中的element设置一个active的class.配合Css样式,让a ...

  6. 用原生js写碰撞变色效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Vue.js动画在项目使用的两个示例

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 李萌,16年毕业,Web前端开发从业者,目前就职于腾讯,喜欢node.js.vue.js等技术,热爱新技术,热 ...

  8. 公司内部技术分享之Vue.js和前端工程化

    今天主要的核心话题是Vue.js和前端工程化.我将结合我这两年多的工作学习经历来谈谈这个,主要侧重点是前端工程化,Vue.js侧重点相对前端工程化,比重不是特别大. Vue.js Vue.js和Rea ...

  9. Vue.js报错Failed to resolve filter问题原因

    Vue.js报错Failed to resolve filter问题原因 金刚 vue Vue.js js javascript 之前使用vue.js写分页功能时,写了一个过滤器,发现一个比较奇怪的错 ...

  10. 原生js实现的放大镜效果

    这是我用原生js写的放大镜效果,与各种各样的框架技术相比,我喜欢使用原生的js,在这里,想和大家一起谈谈原生和框架技术的理解与个人喜好. <!DOCTYPE HTML><html&g ...

随机推荐

  1. 常用命令---less---more

    常用命令---less---more 常用选项 less 和 more 都是 Linux 和类 Unix 系统中的文本阅读工具,主要用于分页查看文件内容.虽然两者都能让用户逐屏查看大文件,但 less ...

  2. Android Graphics 多屏同显/异显

    " 亏功一篑,未成丘山.凿井九阶,不次水泽.行百里者半九十,小狐汔济濡其尾.故曰时乎,时不再来.终终始始,是谓君子." 01 前言 随着Android智能驾舱系统的普及各种信息交互 ...

  3. vue中类tabs左右滑动

    效果图 思路 给定一个变量用来记录滚动了几列,每滚动一次加1滚动一列,监听页面滚动父级元素宽度改变,重新设置滚动的距离(放在计算属性中让其自动计算) <template> <div ...

  4. ftp安装与配置 云服务器 CentOS7

    1.FTP的安装 #安装 yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service #启动 systemctl start vsftp ...

  5. PLC:自动纠正数据集噪声,来洗洗数据集吧 | ICLR 2021 Spotlight

     论文提出了更通用的特征相关噪声类别PMD,基于此类噪声构建了数据校准策略PLC来帮助模型更好地收敛,在生成数据集和真实数据集上的实验证明了其算法的有效性.论文提出的方案理论证明完备,应用起来十分简单 ...

  6. KingbaseES V8R6 集群运维案例 -- 脚本部署集群后ssh无法连接

    案例说明: 在kylin V10环境下,通过脚本方式部署KingbaseES V8R6集群后,发现ssh无法连接主机,通过分析发现在脚本部署过程中会对系统环境进行优化配置,在修改了/etc/ssh/s ...

  7. KingbaseES V8R3 集群运维系列 -- db vip和cluster vip管理

    ​ 案例说明: KingbaseES V8R3集群集成了DB VIP(应用连接)和Cluster VIP(集群管理),本案例描述了两种vip在集群的相关配置及集群故障时vip漂移的问题. 适用版本: ...

  8. KingbaseES 分区表与 Oracle 分区表对于空值的处理差异

    一.对于null 值处理 1.Oracle 分区字段允许为空,只要存在maxvalue 分区,值就可以插入. SQL> create table t1(id number,data varcha ...

  9. 一个库帮你快速实现EF Core数据仓储模式

    前言 EF Core是我们.NET日常开发中比较常用的ORM框架,今天大姚要分享的内容是如何使用EF Core Generic Repository通用仓储库来快速实现EF Core数据仓储模式. E ...

  10. std::thread 三:条件变量(condition_variable())

    condition_variable  .  wait   .  notify_one   .  notify_all *:notify_one:通知(唤醒)一个线程 *:notify_all:通知( ...