vue实现跑马灯效果

来源:网络 文章列表 2019-06-10 826
vue跑马灯效果

vue实现一个简单的跑马灯效果

代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <!-- 1. 引入vue库 -->
  9. <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
  10. </head>
  11. <body>
  12. <div id="app2">
  13. <input type="button" value="浪起来" @click="lang">
  14. <input type="button" value="停止" @click="stop">
  15. <p>{{msg}}</p>
  16. </div>
  17. <script>
  18. var vm = new Vue( {
  19. el:"#app2",
  20. data:{
  21. msg:"赶紧做毕设,别瞎鸡巴浪了~~~",
  22. interval: null
  23. },
  24. methods:{
  25. lang() {
  26. if(this.interval != null) return;
  27. console.log(this.msg);
  28. //做跑马灯效果思路是
  29. //1. 先拿到字符串, 再每次截取首字符串 然后添加到末尾
  30. // var _this_ = this;
  31. // setInterval( function () {
  32. // var start = _this_.msg.substring(0, 1)
  33. // var end = _this_.msg.substring(1)
  34. // _this_.msg = end + start;
  35. // }, 400)
  36. //方法二、用箭头函数,, 补充自己的两个知识1.字符串处理问题 2.js中闭包问题
  37. this.interval = setInterval( ()=> { //引用箭头函数解决指向问题 内部的this指向外部的实列
  38. var start = this.msg.substring(0, 1)
  39. var end = this.msg.substring(1)
  40. this.msg = end + start;
  41. }, 400)
  42. },
  43. stop() {
  44. clearInterval(this.interval) //定时器被清除了,但没有给interval赋值为空
  45. this.interval = null
  46. }
  47. }
  48. })
  49. </script>
  50. </body>
  51. </html>

尝试一下

腾讯云限量秒杀

1核2G 5M 50元/年 2核4G 8M 74元/年 4核8G 5M 818元/年 CDN流量包 100GB 9元

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:QQ:1292237044
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论