overflow:auto 实现拖拽效果

2021/01/26 功能实现 共 1340 字,约 4 分钟

前言

overflow:auto 可以实现拖拽,你信或者不信,我已经在代码里面都实现了这个,不信的话,你读完这篇文章,你也可以在你的代码里面实现这个。一句话概括就是CSS实现了拖拽。

兼容性怎么样

你问我兼容性怎么样,我就感觉你仿佛在问我overflow:auto的兼容性怎么样。

实现效果

看到图中那个音乐播放器被在到处动嘛?他就是我用overflow:auto实现的拽动,神奇吧。在 css 的世界只有你想不到,没有你做不到的。从震惊,type=”range” 居然可以实现评星功能到 现在的 overflow:auto 实现拖拽效果,在我入职阅文之后,一次又一次刷新了我对css的认知,打开我眼界。

音乐播放器播放进度参考饼图图形与动画

overflow:实现拖拽 效果 => 手机版效果

这是一个十分钟出现的ID

或许你觉得我这个标题夸张了,但是我确实是十分钟就看到了这个实现的demo。

背景是这样:在公司我主要负责高度还原设计稿简称原型开发,原型实现完了交给技术部的同事实现后续的数据逻辑开发。

在一次音乐播放器的原型开发中,有一个音乐播放器拖拽的功能,最开始我是用js的API实现onmousemove 手指移动的时候相当于拖动ondragstart 开始拖动的时候。这种方式是可以实现,但是很麻烦,需要对元素拖动的位置进行上下左右的边界判断,越界的时候要进行处理,而且不够优雅。技术部同事拿到我开发的原型,发现了一些莫名其妙的问题,见我代码页不够优雅,于是给我指了一个方向,说找我的老搭档。

一边和老搭档讨论着,一边在解决问题,问题解决了一个,又来一个。

当时我在想是不是我的实现原理或者思路出现问题,代码越写越复杂了。脑子一片混乱的时候,同事给我指了条明道,说用 overflow:auto。我一脸懵逼,他是不是发错消息了?我将错就错的问加哪?我想他肯定会和我说,不好意思发错人了。可是三秒之后,我发现是我想错了,不是他发错了,给了我一链接,他真的实现了。

前前后后估计也就是十分钟吧

实现原理

拖拽,换一个思路就是滚动。横向拖着走就是横着滚,垂直拖着走就是垂直方向滚。

回到我前面那句话拖拽,换一个思路就是滚动。心里默念三遍,三遍不行就十遍。念顺溜了,并且记住了,接下来的事情就是顺其自然了。

这么清晰的画图解释,懂了吧

这就是代码实现

overflow:实现拖拽 效果 => 手机版效果

幸运

每次开发完的原型,心里都忐忑不安的,不管是交出去还是代码 code review ,都达不到完美的效果,大大小小的问题总是避免不了,少不了的自我怀疑,我是不是不行呀。

但我也会自我安慰,加油,人生就是一个不断去遇见问题然后解决他,生活因此而变得丰富多彩,我就是一个有故事的人。

我很幸运的,我的幸运在,每一次业务代码都是成长,每一次的问题都是一次成长,每一次的每一次我都有收获。因为有同事参与帮忙,增添了我成长的乐趣,它变成了一件快乐的事,很感谢他们。

同行和我说:我真的很幸运,你毕业两年多,就能去张鑫旭老师他们的团队,有张老师的指导,有前途,人家应届生都未必有这样的待遇,踩狗屎,这是多么难的的机遇呀!加油

写代码的时候我秉承一个习惯:代码应该尽可能简单,因为下一个维护你的代码的人不会像你那么聪明(ps:因为我不聪明,已所不欲勿施于人


在技术的历史长河中,虽然我们素未谋面,却已相识已久,很微妙也很知足。互联网让世界变得更小,你我之间更近。

在逝去的青葱岁月中,虽然我们未曾相遇,却共同经历着一样的情愫。谁的青春不曾迷茫或焦虑亦是无奈,谁不曾年少过

在未来的日子里,让我们共享好的文章,共同学习进步。有不错的文章记得分享给我,我不会写好的文章,所以我只能做一个搬运工

我叫 sunseekers(张敏) ,千千万万个张敏与你同在,18年电子商务专业毕业,毕业后在前端搬砖

如果喜欢我的话,恰巧我也喜欢你的话,让我们手拉手,肩并肩共同前行,相互学习,互相鼓励

文档信息

Search

    Table of Contents