<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[喵喵的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_34708564</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_34708564]]></copyright><item><title><![CDATA[初始化样式表]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/149541095</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/149541095</guid><author>qq_34708564</author><pubDate>Tue, 22 Jul 2025 16:58:11 +0800</pubDate><description><![CDATA[【代码】初始化样式表。]]></description><category></category></item><item><title><![CDATA[常见老版本浏览器兼容处理]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/149540645</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/149540645</guid><author>qq_34708564</author><pubDate>Tue, 22 Jul 2025 16:40:49 +0800</pubDate><description><![CDATA[你将会发现定义了样式class="yuanxin"时，在IE下，字体显示为红色（#e00）。但不支持同一定义中的!important。此时在IE6下不支持，你将会发现定义了样式class="yuanxin"时，字体显示为黑色（#000）。此种形式的定义，IE6中是可以解释到important的。]]></description><category></category></item><item><title><![CDATA[前端常用类库]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/149539989</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/149539989</guid><author>qq_34708564</author><pubDate>Tue, 22 Jul 2025 16:36:49 +0800</pubDate><description><![CDATA[UI库例如: easyUI / layerUI / H5UI / weUI / mUI /bootstrap / 等工具库例如: underscore.js / lodash.js /Colors.js / URI.js / Smoke.js /funclib.js / I18n.js / day.js / Brief Intro / validate.js 等DOM 组件/功能库例如: select2 / swiper / echart / touch  / iscroll.js / layout /  ]]></description><category></category></item><item><title><![CDATA[移动端适配]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/149539124</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/149539124</guid><author>qq_34708564</author><pubDate>Tue, 22 Jul 2025 16:19:57 +0800</pubDate><description><![CDATA[一般用英寸描述屏幕的物理大小，如电脑显示器的、，手机显示器的、等使用的单位都是英寸。英寸(,缩写为)在荷兰语中的本意是大拇指，一英寸就是指甲底部普通人拇指的宽度。英寸和厘米的换算：在我们布局中使用的单位像素是一个相对单位, 我们称之为 .手机 显示器 等物理设备上的 像素点 我们称之为 
所以对应分辨率 我们也会区分出屏幕分辨率(物理)和图像分辨率(逻辑)。 屏幕分辨率为   这表示手机分别在垂直和水平上所具有的像素点数。 和 的分辨率分别为和。这表示手机分别在垂直和水平上所具有的像素点数。同一尺寸的图片，]]></description><category></category></item><item><title><![CDATA[前端模板引擎]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/145684794</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/145684794</guid><author>qq_34708564</author><pubDate>Mon, 17 Feb 2025 15:47:56 +0800</pubDate><description><![CDATA[正常渲染拿到数据后渲染，三步走：格式化数据、编译模板、渲染数据
如下例

在该业务流程中模板是写死的，变量结构都是写死的，复用性为0，想着把模板当参数传进来,为了效率就借助模板引擎
常见模板工具

art-template:号称是性能最快的模板引擎地址: http://aui.github.io/art-template/handlebars:地址: https://handlebarsjs.com/
渲染方法


效果
原理步骤:正则替换 规定标识符内容普通标签<%= %>  内容替换成变量的值<% %>]]></description><category></category></item><item><title><![CDATA[HTML + CSS编程规范]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140657288</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140657288</guid><author>qq_34708564</author><pubDate>Wed, 24 Jul 2024 10:58:42 +0800</pubDate><description><![CDATA[HTML + CSS 命名规范。]]></description><category></category></item><item><title><![CDATA[HTML5笔记]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140542137</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140542137</guid><author>qq_34708564</author><pubDate>Fri, 19 Jul 2024 11:00:40 +0800</pubDate><description><![CDATA[HTML5
什么是HTML5
定义
万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言（HTML）的第五次重大修改

环境
支持Html5的浏览器包括Firefox（火狐浏览器），IE9及其更高版本，Chrome（谷歌浏览器），Safari，Opera等；国内的傲游浏览器（Maxthon），以及基于IE或Chromium（Chrome的工程版或称实验版）所推出的360浏览器、搜狗浏览器、QQ浏览器、猎豹浏览器等国产浏览器同样具备支持HTML5的能力

目的
HTML5的设计目的是为了在移动设备上支]]></description><category></category></item><item><title><![CDATA[拖拽上传（预览图片）]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140522386</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140522386</guid><author>qq_34708564</author><pubDate>Thu, 18 Jul 2024 14:29:38 +0800</pubDate><description><![CDATA[/创建一个url的blob ，在当前会话下生效，不像base64那样在哪里都能用，如在浏览器中用，当你关掉浏览器再开浏览器用则不生效，是一种临时文件。/* 触发file类型的Input上传文件不一定要点击上传按钮，点在Input身上即可 */点击+上传图片，或直接拖拽图片到红色方框里面也可上传图片，上传后预览图片。//拿到input当前上传的文件，拿不到url，想在页面展示必须有url。//通过FileReader的result可以拿到文件的url。//生成一个临时地址blob，不可持续。]]></description><category></category></item><item><title><![CDATA[读取文件进度条]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140519903</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140519903</guid><author>qq_34708564</author><pubDate>Thu, 18 Jul 2024 12:36:32 +0800</pubDate><description><![CDATA[/如果不清除，当多次提交时，后面重新选择的提交文件，提交时有可能还是上一次选择的文件，用于防范此类bug。//清楚方法：在上传等操作回调中把file input的 类型进行一次切换 用于清空里面的files存留。//一般不放在onload里面，一般用于ajax上传表单，回调完成时再清空。//为了保证安全，建议每次上传结束要清理input文件。//文件转化为 Base64。]]></description><category></category></item><item><title><![CDATA[自定义video]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140495334</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140495334</guid><author>qq_34708564</author><pubDate>Wed, 17 Jul 2024 15:01:08 +0800</pubDate><description><![CDATA[需求


播放暂停切换
播放进度条反馈和控制 (拖拽 点击) 播放时间 00:00/05:30
音量调控 反馈 一键静音/取消静音
全屏播放 循环模式
播放状态反馈 未播放 已播放 播放完毕
本地存储播放时间 自动续播


准备
        [
	        {
	          方法:[ play(),pause()],
	          属性: [paused],
	          element:[#contr-play]
	        },{
	          方法:[ ]]></description><category></category></item><item><title><![CDATA[Promise 对象]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140468100</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140468100</guid><author>qq_34708564</author><pubDate>Tue, 16 Jul 2024 15:59:34 +0800</pubDate><description><![CDATA[Promise 是异步编程的一种解决方案，比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现，ES6 将其写进了语言标准，统一了用法，原生提供了Promise对象。所谓Promise，简单说就是一个容器，里面保存着某个未来才会结束的事件（通常是一个异步操作）的结果。从语法上说，Promise 是一个对象，从它可以获取异步操作的消息。Promise 提供统一的 API，各种异步操作都可以用同样的方法进行处理。Promise对象有以下两个特点。（1）对象的状态不受外界影响。]]></description><category></category></item><item><title><![CDATA[Symbol]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140463442</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140463442</guid><author>qq_34708564</author><pubDate>Tue, 16 Jul 2024 12:52:09 +0800</pubDate><description><![CDATA[ES5 的对象属性名都是字符串，这容易造成属性名的冲突。比如，你使用了一个他人提供的对象，但又想为这个对象添加新的方法（mixin 模式），新方法的名字就有可能与现有方法产生冲突。如果有一种机制，保证每个属性的名字都是独一无二的就好了，这样就从根本上防止属性名的冲突。这就是 ES6 引入Symbol的原因。ES6 引入了一种新的原始数据类型Symbol，表示独一无二的值。undefinednull、布尔值（Boolean）、字符串（String）、数值（Number）、对象（Object）。]]></description><category></category></item><item><title><![CDATA[Proxy代理]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140462851</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140462851</guid><author>qq_34708564</author><pubDate>Tue, 16 Jul 2024 12:05:08 +0800</pubDate><description><![CDATA[Proxy 用于修改某些操作的默认行为，等同于在语言层面做出修改，所以属于一种“元编程”（meta programming），即对编程语言进行编程。Proxy 可以理解成，在目标对象之前架设一层“拦截”，外界对该对象的访问，都必须先通过这层拦截，因此提供了一种机制，可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理，用在这里表示由它来“代理”某些操作，可以译为“代理器”。]]></description><category></category></item><item><title><![CDATA[前端常见功能案例实现]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140297054</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140297054</guid><author>qq_34708564</author><pubDate>Tue, 09 Jul 2024 15:32:54 +0800</pubDate><description><![CDATA[padding: 0;left: 0;right: 0;.bar {浔阳江头夜送客，枫叶荻花秋瑟瑟。主人下马客在船，举酒欲饮无管弦。醉不成欢惨将别，别时茫茫江浸月。忽闻水上琵琶声，主人忘归客不发。寻声暗问弹者谁，琵琶声停欲语迟。移船相近邀相见，添酒回灯重开宴。]]></description><category></category></item><item><title><![CDATA[ES5/ES6补充笔记]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140296424</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140296424</guid><author>qq_34708564</author><pubDate>Tue, 09 Jul 2024 15:13:57 +0800</pubDate><description><![CDATA[ES5/ES6
]]></description><category></category></item><item><title><![CDATA[javascript高级部分笔记]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140292831</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140292831</guid><author>qq_34708564</author><pubDate>Tue, 09 Jul 2024 15:02:58 +0800</pubDate><description><![CDATA[javascript高级部分
Function方法 与 函数式编程
call
语法：call([thisObj[,arg1[, arg2[, [,.argN]]]]])
定义：调用一个对象的一个方法，以另一个对象替换当前对象。
说明：call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。
如果没有提供 thisObj 参数，那么 Global 对象被用作 thisObj。
    let myName = 'goudan]]></description><category></category></item><item><title><![CDATA[javascript DOM BOM 笔记]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140267946</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140267946</guid><author>qq_34708564</author><pubDate>Tue, 09 Jul 2024 12:53:34 +0800</pubDate><description><![CDATA[Web API
API的概念
API（Application Programming Interface,应用程序编程接口）是一些预先定义的函数，目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力，而又无需访问源码，或理解内部工作机制的细节。

任何开发语言都有自己的API
API的特征输入和输出(I/O)
API的使用方法(console.log())

Web API的概念
浏览器提供的一套操作浏览器功能和页面元素的API(BOM和DOM)
此处的Web API特指浏览器提供的API(一]]></description><category></category></item><item><title><![CDATA[js吸顶导航]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140292569</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140292569</guid><author>qq_34708564</author><pubDate>Tue, 09 Jul 2024 12:44:42 +0800</pubDate><description><![CDATA[吸顶导航

当我们浏览页面篇幅较大，浏览过半的时候想回到导航位置，只能通过往回滚动或通过”回到顶部”重新滚动到导航位置，这样的操作显得繁琐与不便。于是便有了吸顶式导航的交互方式，吸顶条导航最大的好处是将最常用或者设计者最愿意让用户看到的内容、功能经常保持在用户面前，为用户提供了极大的便利与交互体验。


吸顶导航栏的初始位置一般是靠近在页面的顶部位置，但是又存在一定距离，通常这块区域放置最为醒目或者重要元素的地方，如Banner图。
当页面向下滚动时超过了吸顶导航的初始位置时，需要把吸顶导航栏固定在窗口顶部]]></description><category></category></item><item><title><![CDATA[JS之防抖和节流]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140292151</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140292151</guid><author>qq_34708564</author><pubDate>Tue, 09 Jul 2024 12:16:47 +0800</pubDate><description><![CDATA[在页面的无限加载场景下，需要用户在滚动页面时，每隔一段时间发一次 ajax 请求，而不是在用户停下滚动页面操作时才去请求数据；所谓防抖，就是指触发事件后在 n 秒内函数只能执行一次，如果在 n 秒内又触发了事件，则会重新计算函数执行时间。在后期有拓展了前缘防抖函数，即执行动作在前，设定延迟周期在后，周期内有事件被触发，不执行动作，且周期重新设定。当事件被触发时，设定一个周期延时执行动作，若周期又被触发，则重新设定周期，直到周期结束，执行动作。固定周期内，只执行一次动作，若没有新事件触发，不执行。]]></description><category></category></item><item><title><![CDATA[js实现移动蒙版层]]></title><link>https://blog.youkuaiyun.com/qq_34708564/article/details/140292017</link><guid>https://blog.youkuaiyun.com/qq_34708564/article/details/140292017</guid><author>qq_34708564</author><pubDate>Tue, 09 Jul 2024 12:00:37 +0800</pubDate><description><![CDATA[可在整个页面拖动方块，但方块不能超出页面。]]></description><category></category></item></channel></rss>