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

<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. AXI4的IP的输入配置

    AXI4的IP的输入配置 1.实验原理 前面一篇验证中验证了AXI中的data_reg_out是输出缓存器.这里再引入一个slv_reg2作为slv-_reg1的输入输出配置寄存器.这里先实现一个简单 ...

  2. KingbaseES V8R3 集群运维系列 -- sync_flag参数配置

    ​ 案例说明: 在KingbaseES V8R3集群一主二备的架构中,配置了流复制为同步(sync)模式,但是集群启动后,流复制状态中显示备库是async模式(备库和主库数据已经同步),从备库的rec ...

  3. C 语言运算符详解

    C 语言中的运算符 运算符用于对变量和值进行操作. 在下面的示例中,我们使用 + 运算符将两个值相加: int myNum = 100 + 50; 虽然 + 运算符通常用于将两个值相加,就像上面的示例 ...

  4. 深入理解 C++ 右值引用和移动语义:全面解析

    C++11引入了右值引用,它也是C++11最重要的新特性之一.原因在于它解决了C++的一大历史遗留问题,即消除了很多场景下的不必要的额外开销.即使你的代码中并不直接使用右值引用,也可以通过标准库,间接 ...

  5. SQL 查询优化指南:SELECT、SELECT DISTINCT、WHERE 和 ORDER BY 详解

    SELECT 关键字 SQL的SELECT语句用于从数据库中选择数据.SELECT语句的基本语法如下: SELECT column1, column2, ... FROM table_name; 其中 ...

  6. C#中超链接方法

    linkLabel控件:双击事件打开网页:System.Diagnostics.Process.Start("http://www.baidu.com"); 截图:

  7. 基于istio实现单集群地域故障转移

    本文分享自华为云社区<基于istio实现单集群地域故障转移>,作者:可以交个朋友. 一 背景 随着应用程序的增长并变得更加复杂,微服务的数量也会增加,失败的可能性也会增加.微服务的故障可能 ...

  8. LTV预估的一些思考

    什么是LTV 用户生命周期价值(Lifetime Value, LTV)是一个非常重要的指标,定义为单个用户在某种生命周期内(i.e. 从开始使用产品到停止使用期间) 为产品创造的总价值. 比如GMV ...

  9. GAN的实现和一些问题

    GAN的学习是一个二人博弈问题,最终目标是达到纳什平衡.对抗指的是生成网络和判别网络的互相对抗.生成网络尽可能生成逼真样本,判别网络则尽可能去判别该样本是真实样本,还是生成的假样本.示意图如下: 生成 ...

  10. c# .net缓存(旧)

    前言 是迁移以前的blog. 关于c# 缓存在web应用中的一个引导,能够建立起一个缓存的基本思路. System.Web.Caching 这个真的是老生常谈了,我们只需要key和iv,然后我们就可以 ...