一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Frontend

CSS 奇思妙想边框动画

今天逛博客网站 — shoptalkshow,看到这样一个界面,非常有意思: 觉得它的风格很独特,尤其是其中一些边框。 嘿嘿,所以来一篇边框特辑,看看运用 CSS,可以在边框上整些什么花样。 border 属性 谈到边框,首先会想到 border,我们最常用的莫过于 solid,dashed,上图中便出现了 dashed。 除了最常见的 solid,dashed,CSS border 还支持 none,hidden, dotted, double, groove, ridge, inset, outset 等样式。除去 none,hidden,看看所有原生支持的 border 的样式: 基础的就这些,如果希望实现一个其他样式的边框,或者给边框加上动画,那就需要配合一些其他属性,或是脑洞大开。OK,一起来看看一些额外的有意思的边框。 边框长度变化 先来个比较简单的,实现一个类似这样的边框效果: 这里其实是借用了元素的两个伪元素。两个伪元素分别只设置上、左边框,下、右边框,通过 hover 时改变两个伪元素的高宽即可。非常好理解。

CodePen Demo — width border animation 接下来,会开始加深一些难度。 虚线边框动画 使用 dashed 关键字,可以方便的创建虚线边框。

当然,我们的目的是让边框能够动起来。使用 dashed 关键字是没有办法的。但是实现虚线的方式在 CSS 中有很多种,譬如渐变就是一种很好的方式:

看看,使用渐变模拟的虚线如下: 好,渐变支持多重渐变,我们把容器的 4 个边都用渐变表示即可:

效果如下: OK,至此,我们的虚线边框动画其实算是完成了一大半了。虽然 border-style: dashed 不支持动画,但是渐变支持呀。我们给上述 div 再加上一个 hover 效果,hover 的时候新增一个 animation 动画,改变元素的 background-position 即可。

OK,看看效果,hover 上去的时候,边框就能动起来,因为整个动画是首尾相连的,无限循环的动画看起来就像是虚线边框在一直运动,这算是一个小小的障眼法或者小技巧: 这里还有另外一个小技巧,如果我们希望虚线边框动画是从其他边框,过渡到虚线边框,再行进动画。完全由渐变来模拟也是可以的,如果想节省一些代码,使用 border 会更快一些,譬如这样:

由于 border 和 background 在盒子模型上位置的差异,视觉上会有一个很明显的错位的感觉: 要想解决这个问题,我们可以把 border 替换成 outline,因为 outline […]

龙生   25 Jan 2021
View Details

js实现保存文件到本地

  from:https://www.cnblogs.com/frost-yen/p/10226705.html

龙生   19 Jan 2021
View Details

js解析websocket二进制数据包

js解释数据包 做一个项目,服务器要给我发一个数据包,格式为,前面16位short,后32位int,后面就全是string,我用javascript怎么去把这个数据包解读出来?   用WebSocket,接收到的就是一个Blob对象.而我要给服务器返回的也是这种格式,我又怎么把我的数据封装成这样的数据包? ——解决方案——————--

  from:https://blog.csdn.net/woxingwosu0100/article/details/51273523/

龙生   16 Jan 2021
View Details

JS字符串与二进制的相互转化

  十进制转二进制

 

转载请注明出处:http://www.cnblogs.com/it-deepinmind/ from:https://www.cnblogs.com/it-deepinmind/p/7430025.html  

龙生   16 Jan 2021
View Details

axios全局设置url公共请求头

需求由来: 公司项目外链到别公司项目或者网页(通俗的说就是通过别的随意网页跳转至你项目网页),这时公司项目就要区分是从哪个公司或者哪个网页跳转过来的,从而进行不同的接口请求(公司所有接口都要带上请求头)。大部分做法都是设置请求头来区分。做法如下: 废话不多说   直接上代码  通俗易懂: 新建一个配置文件requst.js  内容如下

  接下来就是在main.js引入就行了 如下:

上诉内容就是设置公共请求头的内容了。   from:https://www.cnblogs.com/ljx20180807/p/9766699.html

龙生   08 Jan 2021
View Details

Vue 子组件与父组件之间的 双向数据绑定

方法一(常规) 父组件传递数据到子组件; 子组件将数据转成本地数据

  但是此时,父组件如果更新了name 值,但是子组件中的 iName 不会随之更改;所以要监听父组件传入数据的变化,随之更新子组件;

  此时,父组件更新 name ,子组件展示出来的数据(iName)会随之变化,但是子组件修改数据,父组件不会变化,所以需要监听子组件数据(iName)的变化,通知父组件进行更新

  方法二(自定义 v-model 双向数据绑定) 自定义组件中使用 v-model 进行双向数据绑定,相当于;

  方法三(.sync 修饰符)

  拆开后

    from:https://blog.csdn.net/qq_39125684/article/details/90380268

龙生   08 Jan 2021
View Details

ES5 数组方法map

概述 map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。 语法 array.map(callback[, thisArg]) 参数 callback 原数组中的元素经过该方法后返回一个新的元素。 currentValue callback 的第一个参数,数组中当前被传递的元素。 index callback 的第二个参数,数组中当前被传递的元素的索引。 array callback 的第三个参数,调用 map 方法的数组。 thisArg 执行 callback 函数时 this 指向的对象。 例子:将数组中的单词转换成对应的复数形式. 下面的代码将一个数组中的所有单词转换成对应的复数形式.

例子:求数组中每个元素的平方根 下面的代码创建了一个新数组,值为原数组中对应数字的平方根。

例子:在字符串上使用 map 方法 下面的例子演示如在在一个 String  上使用 map 方法获取字符串中每个字符所对应的 ASCII 码组成的数组:

使用技巧案例 通常情况下,map 方法中的 callback 函数只需要接受一个参数,就是正在被遍历的数组元素本身。但这并不意味着 map 只给 callback 传了一个参数。这个思维惯性可能会让我们犯一个很容易犯的错误。

兼容旧环境(Polyfill) map 是在最近的 ECMA-262 标准中新添加的方法;所以一些旧版本的浏览器可能没有实现该方法。在那些没有原生支持 map 方法的浏览器中,你可以使用下面的 Javascript 代码来实现它。所使用的算法正是 ECMA-262,第 5 版规定的。假定Object, TypeError, 和 Array 有他们的原始值。而且 callback.call 的原始值也是 Function.prototype.call

参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map   from:https://www.cnblogs.com/leejersey/p/5462427.html

龙生   31 Dec 2020
View Details

elementUI中el-table 如何动态生成列

from:https://blog.csdn.net/baidu_34692401/article/details/83348130

龙生   22 Dec 2020
View Details

vue 进入页面与离开页面触发事件

1.切换进入当前路由之前的钩子函数 beforeRouteEnter

2.离开当前路由之前的钩子函数 beforeRouteLeave

  from:https://www.cnblogs.com/gqx-html/p/11233014.html

龙生   08 Dec 2020
View Details

移动端:div在手机页面上随意拖动/拖拽

为了兼容PC和移动端,想出了以下办法: 拖动时候用到的三个事件: mousedown 、 mousemove 、 mouseup 在移动端都不起任何作用。毕竟移动端是没有鼠标的,查资料后发现,在移动端与之相对应的分别是: touchstart 、 touchmove 、 touchend 事件。还有一点要注意的是在PC端获取当前鼠标的坐标是: event.clientX 和 event.clientY ,在移动端获取坐标位置则是: event.touches[0].clientX 和 event.touches[0].clientY 。下面就来说说怎么实现这个效果吧,先看一下效果: PC端 : 移动端 : 先来分析一个拖动的流程,以PC端为例,首先是鼠标按下( mousedown 事件),然后移动( mousemove 事件),最后释放鼠标( mouseup 事件),首先要设置一个变量记录鼠标是否按下,在鼠标按下的时候,我们做一个标记,然后需要记录一下鼠标当前的坐标,还有这个div当前的偏移量,当鼠标开始移动的时候,记录下鼠标当前的坐标,用鼠标当前的坐标减去鼠标按下时的坐标再加上鼠标按下时div的偏移量就是现在div距离父辈元素的距离,当鼠标释放的时候将标记改为鼠标已经释放。下面来看一下代码:

然后在将事件加入到这个div中即可,下面再来看一个在移动端需要做些什么,首先是事件不同,只需要在添加移动端的 touchatart 、 touchmove 、 touchend 就可以了,还有一个不同的时移动端获取坐标是 event.touches[0].clientX 和 event.touches[0].clientY ,这也很简单,只要加上判断就可以了,如果是PC端就使用event,如果是移动端就使用 event.touches :

还有一点要注意,在移动端拖动div的时候移动端的页面会自动产生滑动效果,所以还需要在 touchmove 的是给页面添加一个阻止默认事件的函数。 下面是整个代码,可以在Chrome下模拟移动端测试,点击这里查看:

  from:https://www.cnblogs.com/joyco773/p/6519668.html

龙生   08 Dec 2020
View Details
1 12 13 14 58