采用html5+css3+Zepto+swiper+wcPop+flex等技术开发的聊天实例。实现发送消息/表情,图片/视频预览,添加好友/群聊,语音模块,地图定位模块,整体功能界面效果类似微信聊天。
使用技术
<script src="https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>
Flex | Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。
https://www.runoob.com/w3cnote/flex-grammar.html
2009年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。Flex 布局将成为未来布局的首选方案。
采用Flex布局的元素,称为Flex容器(flex container),简称”容器”。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称”项目”。
如上图:容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)
想要了解Flex布局更多的用法,可以去网上查阅相关资料,这里不作详细概述了。
mescroll | 精致的下拉刷新和上拉加载 js框架.支持vue,完美运行于移动端和主流PC浏览器。
http://www.mescroll.com/
https://github.com/mescroll/mescroll
注意:如果你是uni-app开发者,下面是mescroll的uniapp版本
http://www.mescroll.com/uni.html
wcpop是一个手机端弹窗插件,提供了多种类型的弹窗功能,有ios、android弹窗效果
// 基本使用
wcPop({
//传入参数
})
如上图 弹窗菜单,使用下面代码即可实现
$("#J_chatList").on("contextmenu", ".item", function (e) {
e.preventDefault();
//获取长按坐标点
var _points = [e.pageX, e.pageY];
wcPop({
skin: 'contextmenu',
follow: _points,
opacity: 0,
btns: [
{
text: '发送给朋友',
style: 'color:#212121;',
onTap() {...}
},
{text: '复制'},
{text: '收藏'},
{text: '撤回'},
{text: '删除'},
]
});
});
function wchat_ToBottom() {
$(".mescroll").animate({ scrollTop: $("#J__chatMsgList").height() }, 0);
}
// 定义最后光标位置
var _lastRange = null, _sel = window.getSelection && window.getSelection();
var _rng = {
getRange: function () {
if (_sel && _sel.rangeCount > 0) {
return _sel.getRangeAt(0);
}
},
addRange: function () {
if (_lastRange) {
_sel.removeAllRanges();
_sel.addRange(_lastRange);
}
}
}
// 聊天插入表情
$("#J__swiperEmotion").on("click", ".face_item", function () {
var that = $(this), range;
var img = that[0].cloneNode(true);
if (!_editor.childNodes.length) {
_editor.focus();
}
_editor.blur(); //输入表情时禁止输入法
setTimeout(function () {
if (document.selection && document.selection.createRange) {
document.selection.createRange().pasteHTML(img);
} else if (window.getSelection && window.getSelection().getRangeAt) {
range = _rng.getRange();
range.insertNode(img);
range.collapse(false);
//记录当前光标位置 (否则光标会跑到表情前面)
_lastRange = range;
_rng.addRange();
}
}, 10);
});
function isEmpty() {
var html = $editor.html();
html = html.replace(/<br[\s\/]{0,2}>/ig, "\r\n");
html = html.replace(/<[^img].*?>/ig, "");
html = html.replace(/ /ig, "");
return html.replace(/\r\n|\n|\r/, "").replace(/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g, "") == "";
}
❤️ 最后
如果你觉得这篇文章对你有帮助,麻烦点个「关注/转发」,让更多的人也能看到你的分享!
eb前端开发工程师需要核心掌握HTML/CSS/JS开发,在几年前HTML5标准进入国内后,得到了快速的应用于推广,开发人员为了实现更多的效果和功能,将HTML5的应用推崇到了极高的位置。作为Web前端开发工程师你是否了解HTML5常用的开发工具呢?本文,千锋武汉Web前端培训小编列举HTML5常用的10款开发工具!
1、Initializr——Initializr是制作HTML5网站顶好的入门辅助开发工具,你可以使用提供的特色模板迅速生成网站,也可以自定义,Initializr会为你生成代码简洁的可定制的网页模板。
2、HTML5 visual cheat sheet——HTML5 visual cheat sheet是一个非常酷的速查手册,每个Web开发人员的必备神器,可以帮助大家高速查找一个标签或者属性。
3、Cross browser HTML5 forms——HTML5中的日历,取色板,滑块部件等都是非常棒工具,但是有些浏览器不支持。Cross browser HTML5 forms还可以帮助你构建完美的HTML5表单兼容方案。
4、HTML5demos——HTML5demos会告诉你每一个HTML5特性在哪些浏览器中支持,比如说你的浏览器是否支持HTML5 Canvas?Safari是否可以运行简单的HTML5聊天客户端等问题。
5、Switch To HTML5——Switch To HTML5是一个基础而实用的模板生成工具。
6、HTML5 Tracker——HTML5 Tracker可以跟踪HTML5全新修订信息。使用HTML5 Tracker可以了解HTML5的全新动向。
7、HTML5 Test——HTML5 Test会为你当前使用的浏览器生成一份对video、audio、canvas等等特性的支持情况的完整报告。快快让你的浏览器准备好迎接HTML5革命吧。
8、HTML5 Canvas cheat——sheet Canvas元素是HTML5的重要元素之一,它可以在网页中绘制图形,非常强大。这是一个Canvas元素的详细速查手册。
9、Lime JS——LimeJS是一个HTML5游戏开发框架,用于高速构建运行于触屏设备和桌面浏览器的游戏。非常棒的HTML5开发工具,一定要用用试试。
10、HTML5 Reset——HTML5 Reset是一组文件,包括HTML、CSS等,用于在开始新项目的时候帮助你节省时间,提供HTML5的空白WordPress模板。
以上就是千锋武汉Web前端培训小编列举的Web前端工程师需要了解的10个HTML5常用工具。这些工具在不同的开发领域发挥着极大的作用。你可以根据你现在从事的岗位对照一下,是否你已经掌握的这些比较高效的工具了呢?
如果你想学习Web前端,就来千锋武汉Web前端培训,大牛讲师全程面授,严格管理,紧贴主流企业一线需求,助力学员毕业即高薪就业。现在还可以来千锋武汉Web前端培训,申请两周免费试听,亲身感受讲师的授课水平。
TML5发展如火如荼,随着各大浏览器对 HTML5 技术支持的不断完善以及HTML5 技术的不断成熟,未来 HTML5 必将改变我们创建 Web 应用程序的方式。今天这篇文章向大家推荐8款优秀的HTML5开发工具,帮助你更高效的编写 HTML5 应用。
1、Initializr
Initializr 是制作 HTML5 网站最好的入门辅助开发工具,你可以使用提供的特色模板快速生成网站,也可以自定义,Initializr 会为你生成代码简洁的可定制的网页模板。
2、HTML5demos
想知道你的浏览器是否支持 HTML5 Canvas 吗?想知道 Safari 是否可以运行简单的 HTML5 聊天客户端吗?HTML5demos 会告诉你每一个HTML5特性在哪些浏览器中支持。
3、HTML5 Tracker
想了解 HTML5的最新动向吗? 使用 HTML5 Tracker 吧,它可以跟踪 HTML5 最新修订信息。
4、HTML5 visual cheat sheet
想要快速超找一个标签或者属性吗?看看这个非常酷的速查手册吧,每个Web开发人员的必备。
5、Switch To HTML5
Switch To HTML5 是一个基础而实用的模板生成工具。如果你开始一个新项目,可以到这里获取免费的 HTML5 网站模板。
6、Cross browser HTML5 forms
HTML5 中的日历,取色板,滑块部件等都是非常棒工具,但是有些浏览器不支持。这个页面将帮助你构建完美的HTML5表单兼容方案。
7、HTML5 Test
你浏览器准备好迎接 HTML5 革命了吗?HTML5 Test 将告诉你。这个网站会为你当前使用的浏览器生成一份对video、audio、canvas等等特性的支持情况的完整报告。
8、Lime JS
LimeJS 是一个 HTML5 游戏开发框架,用于快速构建运行于触屏设备和桌面浏览器的游戏。非常棒的HTML5开发工具,一定要用用试试。
更多内容和资讯或者问题,更多干货分享,尽在我的个人微信公众号,
微信名:非著名程序员,微信号:smart_android(←长按复制)。
微博:涩郎
*请认真填写需求信息,我们会在24小时内与您取得联系。