<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hohocj的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hohocj</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hohocj]]></copyright><item><title><![CDATA[echarts实现多进度环状图]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/128238208</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/128238208</guid><author>hohocj</author><pubDate>Thu, 08 Dec 2022 15:43:01 +0800</pubDate><description><![CDATA[echarts实现多进度环状图]]></description><category></category></item><item><title><![CDATA[初级前端面试题]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/126883777</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/126883777</guid><author>hohocj</author><pubDate>Fri, 16 Sep 2022 09:15:29 +0800</pubDate><description><![CDATA[初级前端面试题总结，早日拿下offer]]></description><category></category></item><item><title><![CDATA[vue中监听离开页面时间并记录]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/122306773</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/122306773</guid><author>hohocj</author><pubDate>Tue, 04 Jan 2022 16:59:40 +0800</pubDate><description><![CDATA[// 不兼容360, 火狐下只有有多个标签时才能查到
import { logout } from '@/api/user'
export default {
  name: 'App',
  mounted() {
    window.addEventListener('beforeunload', e =&gt; this.beforeunloadHandler(e))
    window.addEventListener('unload', e =&gt; this.unloadHandler(e]]></description><category></category></item><item><title><![CDATA[小程序弹幕实现]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/117621802</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/117621802</guid><author>hohocj</author><pubDate>Sun, 06 Jun 2021 11:10:12 +0800</pubDate><description><![CDATA[其实，在微信开放文档中就有关于弹幕的组件。当然，这是在我自己实现了弹幕功能后才发现的，不然我肯定不会自己动手实现，能白嫖绝不动手。





实现弹幕功能最主要的点就是利用CSS3里面的动画效果


/**定义从右边向左边的移动的动画**/@keyframes first {  from {    left: 100%;  }​  to {    left: -200%;  }}

有了这个动画效果，实现弹幕效果非常简单了

效果图：



思路：


	在wxml中添加节点
	
	
	在wxss中添加动.]]></description><category></category></item><item><title><![CDATA[小程序canvas之绘制并保存图片到本地]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/117163955</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/117163955</guid><author>hohocj</author><pubDate>Sat, 22 May 2021 16:10:14 +0800</pubDate><description><![CDATA[这篇主要讲canvas绘制以及保存到本地相册的方法
实现功能如下：
1.用户手动输入文字，并把这些文字绘制到canvas中
2.将图片绘制到canvas中
3.将canvas变成图片并保存到本地相册中
效果如图：


第一步 wxml
&lt;canvas type="2d" id='MyCanvas' style="width:{{widthC}}px;height:{{heightC}}px;" wx:if="{{showCanvas}}"

要注意写这种形式tpye=‘2d’，这是新版本的，旧版本的如]]></description><category></category></item><item><title><![CDATA[CSS小技巧]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/103548472</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/103548472</guid><author>hohocj</author><pubDate>Sun, 15 Dec 2019 15:31:20 +0800</pubDate><description><![CDATA[一些你不知道的CSS使用小技巧]]></description><category></category></item><item><title><![CDATA[解构赋值]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/103410845</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/103410845</guid><author>hohocj</author><pubDate>Thu, 05 Dec 2019 19:28:21 +0800</pubDate><description><![CDATA[ES6之解构赋值]]></description><category></category></item><item><title><![CDATA[let和const命令]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/103343299</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/103343299</guid><author>hohocj</author><pubDate>Mon, 02 Dec 2019 09:36:50 +0800</pubDate><description><![CDATA[先说let命令

let用来声明变量，用法类似于var，但是也有很多区别


	所声明的变量只在let命令所在的代码块内有效
	
	
	不存在变量提升问题，即只能在声明之后才能使用，否则报错
	
	
	只要块级作用域内存在let命令，它所声明的变量就绑定了这个区域，不再受到外界影响
	
	
	不能重复声明变量
	

// 第一个{  let a=2;  var b=2;}console.log(...]]></description><category></category></item><item><title><![CDATA[浅拷贝方法整理]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/103181241</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/103181241</guid><author>hohocj</author><pubDate>Thu, 21 Nov 2019 13:56:31 +0800</pubDate><description><![CDATA[整理的一些浅拷贝方法]]></description><category></category></item><item><title><![CDATA[Generator函数了解和使用]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/103111897</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/103111897</guid><author>hohocj</author><pubDate>Sun, 17 Nov 2019 19:11:51 +0800</pubDate><description><![CDATA[这个函数看起来挺难的，实际上确实有点难，这一百来页书看了好多遍才勉强看懂。当然了，也不排除我有点傻，嘿嘿

我觉得学一个新东西，搞清楚三个问题就基本算是学到了

这是个啥？这个咋用呢？这有啥用呢？

对于这个函数，我也套用一下这种方式

​

这函数是个啥？一个函数名带有星号，可使用yield来暂停函数以及通过yield与next交互来输出输入值，最后执行时返回一个遍历器对象的函数



这函数...]]></description><category></category></item><item><title><![CDATA[Thunk函数配合Generator函数使用，依次读取上传文件]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/103108531</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/103108531</guid><author>hohocj</author><pubDate>Sun, 17 Nov 2019 14:30:05 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="utf-8"&gt;
		&lt;title&gt;&lt;/title&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;button type="button"&gt;读取文件&lt;/button&gt;
		&lt;inpu...]]></description><category></category></item><item><title><![CDATA[JS中Promise简单了解]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/103000326</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/103000326</guid><author>hohocj</author><pubDate>Sun, 10 Nov 2019 18:18:38 +0800</pubDate><description><![CDATA[什么是promise呢？就是异步编程的一种解决方案。简单来看，可以把它看作一个容器，里面存放着某个未来才会结束的事件的结果。从语法上来说，它是一个对象，可以从它来获取异步操作的消息

这样可能好理解一些

比如去KFC买了一个汉堡，通过下订单并付款，此时就是发送了一个对某个值（就是那个汉堡）的请求。这时，服务员会给你一个排号，这个排号就是一个promise，保证你能拿到那个值（那个汉堡）。拿到那个...]]></description><category></category></item><item><title><![CDATA[对象关联风格代码写贪吃蛇]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/102875262</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/102875262</guid><author>hohocj</author><pubDate>Sat, 02 Nov 2019 18:57:20 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="utf-8"&gt;
		&lt;title&gt;小帅哥&lt;/title&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;script type="text/javascript"&gt;
			let obj={
				...]]></description><category></category></item><item><title><![CDATA[强制类型转换]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/102799354</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/102799354</guid><author>hohocj</author><pubDate>Tue, 29 Oct 2019 14:53:32 +0800</pubDate><description><![CDATA[详细各种类型转换，看完这篇，能解决大多数需求]]></description><category></category></item><item><title><![CDATA[JS中实现拖拽上传图片功能]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/102774936</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/102774936</guid><author>hohocj</author><pubDate>Mon, 28 Oct 2019 08:34:20 +0800</pubDate><description><![CDATA[效果图

                        


&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="utf-8"&gt;
		&lt;title&gt;百度换肤&lt;/title&gt;
		&lt;style type="text/css"&g...]]></description><category></category></item><item><title><![CDATA[JS实现百度搜索下拉框]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/102774916</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/102774916</guid><author>hohocj</author><pubDate>Mon, 28 Oct 2019 08:29:26 +0800</pubDate><description><![CDATA[效果图

                              


&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="utf-8"&gt;
		&lt;title&gt;百度搜索&lt;/title&gt;
		&lt;style type=...]]></description><category></category></item><item><title><![CDATA[JS返回值练习]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/102764720</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/102764720</guid><author>hohocj</author><pubDate>Sun, 27 Oct 2019 10:58:14 +0800</pubDate><description><![CDATA[效果图




&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="utf-8"&gt;
		&lt;title&gt;返回值练习&lt;/title&gt;
		&lt;style type="text/css"&gt;
			output{
				white-space: pre;
			}
		&lt;/...]]></description><category></category></item><item><title><![CDATA[JS中canvas实现一个简单画板]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/102764108</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/102764108</guid><author>hohocj</author><pubDate>Sun, 27 Oct 2019 10:04:48 +0800</pubDate><description><![CDATA[效果图

                        


&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="utf-8"&gt;
		&lt;title&gt;&lt;/title&gt;
		&lt;style type="text/css"&gt;
	...]]></description><category></category></item><item><title><![CDATA[JS中animation和background练习]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/102764015</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/102764015</guid><author>hohocj</author><pubDate>Sun, 27 Oct 2019 09:56:16 +0800</pubDate><description><![CDATA[效果图

                      

会自动移动，当鼠标停在眼睛上时会停止


&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="utf-8"&gt;
		&lt;title&gt;瞅啥呢，说你呢&lt;/title&gt;
		&lt;sty...]]></description><category></category></item><item><title><![CDATA[JS滚动轮播图]]></title><link>https://blog.youkuaiyun.com/hohocj/article/details/102763877</link><guid>https://blog.youkuaiyun.com/hohocj/article/details/102763877</guid><author>hohocj</author><pubDate>Sun, 27 Oct 2019 09:38:37 +0800</pubDate><description><![CDATA[效果图

                  

自动滚动，以及点击滚动，还修复了多次点击出现图片位置混乱的bug


&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="UTF-8"&gt;
		&lt;title&gt;小垃圾&lt;/title&gt;
		&lt;s...]]></description><category></category></item></channel></rss>