js仿微信公众平台打标签功能
发布时间 - 2026-01-11 00:33:52 点击率:次今天刚刚完成了一个小功能:“仿微信公众平台的-打标签”,随笔记下欢迎纠错:

操作介绍:选择人物列表点击“打标签”按钮可实现对当前已选择的人物添加新的标签;
自己分析的实现思路:
1.点击“打标签”时要“知道”那些人物被选择了~~遍历当前人物列表
2.得到被选择人物列表后还得知道他们下面的标签都有啥~~遍历选择人物的标签列表
3.得到当前可以使用的标签列表~~额..还是遍历得到
废话讲的有点多。来几张图片压压惊。网页效果\(^o^)/~
1.加载完毕的初期“打标签”不可选没有功能。。
2.当任务列表有选择的时候可以点击“打标签”并弹窗显示可编辑的标签列表(列表内容取自右侧);
3.选择标签后确定修改当前已选择的人物的标签;
概流程就这样了,代码:
基本也页面结构:
html和css大家都会的就不写啦。。。下面是主要js代码:
function addLabel (){
$('.addLabel_divS_ul_s').find('li').remove();
$('#addLable_btn').css({'cursor':'pointer',"background":'#fff'});
$('#addLable_btn').on('click',function(){
// 向隐藏ul(即弹窗里的ul)中添加li
var $lis = $('.ulLabelS>.lable_list_li_append_li>.lable_list_li_strong_2'),
$addLabelDivSUlS = $('.addLabel_divS_ul_s'),
$inputAll = $('#queryPageForm input[type="checkbox"]'),
$inputLength = $inputAll.length;//人物列表
//循环已有的li列表放进备选ul中
for(let i=0 ; i<$lis.length; i++){
var $li = "<li class='addLabel_divS_ul_sLi' ><input type='checkbox'/>" + $($lis[i]).text() + "</li>";
//防止多次执行函数导致的多次添加
if($addLabelDivSUlS.find('li').length != $lis.length){
//console.log('zhixing ');
$addLabelDivSUlS.append($li);
};
}
//循环已勾选的人物列表读取已有的标签反显到备选ul的li中(li里面的input勾选)
for(let i=0; i< $inputLength; i++){
//判断当前人员列表是否被勾选 勾选的添加标签
if($($inputAll[i]).prop('checked')){
//$length : 人物固有标签的长度
var $thisLi = $($inputAll[i]).parent('.user_list_li_div_1').siblings('.user_list_li_div_2').find('.div2_lable_ul>li');
$length = $thisLi.length;//备选标签ul
for(let j = 0; j < $length ; j ++ ){
//console.log($($thisLi[j]).text());
for(let k = 0; k < $addLabelDivSUlS.find('li').length ; k++){
if($($thisLi[j]).text() == $($addLabelDivSUlS.find('li')[k]).text()){
$($addLabelDivSUlS.find('li')[k]).find('input').prop('checked',true)
}
}
}
}
};
$('#addLabel_divS_wrp').show();
$('#addLabel_divS').show();
});
}
上面是获取备选标签和“找到”选中的人物中的标签列表并在备选标签中进行勾选,当弹窗后我们还得知道当前人物列表哪个是选中的,我们在把选中的备选标签添加到当前选中的人物上,就实现修改标签的功能了。。。。。看下面。。。。
/*
* 取消 确定
*/
function clickBtnS (){
var $addLabelDivS = $('#addLabel_divS'),
inputAll = $('#queryPageForm input[type="checkbox"]');
//确定
$('.addLabel_divS_div1>.btn1').on('click',function(){
var $length = $('.addLabel_divS_ul_s>.addLabel_divS_ul_sLi');//备选标签ul
//找到勾选的li 添加当前勾选的标签 人物列表
for(let i=0; i< inputAll.length; i++){
//判断当前人员列表是否被勾选 勾选的添加标签
if($(inputAll[i]).prop('checked')){
$(inputAll[i]).parent('.user_list_li_div_1').siblings('.user_list_li_div_2').find('.div2_lable_ul').empty();
//循环已选择的li
for(let j = 0; j<$length.length;j ++){
if($($length[j]).find('input').prop('checked')){
//console.log($($length[j]).text());
var $li = "<li class='div2_lable_li'>"+ $($length[j]).text() +"</li>";
$(inputAll[i]).parent('.user_list_li_div_1').siblings('.user_list_li_div_2').find('.div2_lable_ul').append($li);
}
}
}
};
$('.addLabel_divS_ul_s').find('li').remove();
$('#addLabel_divS_wrp').hide();
$addLabelDivS.hide();
});
//取消
$('.addLabel_divS_div1>.btn2').on('click',function(){
$('.addLabel_divS_ul_s').find('li').remove();
$('#addLabel_divS_wrp').hide();
$addLabelDivS.hide();
});
};
至此就可以实现和微信的打标签相同的效果了。。也没看微信的源码不知道人家这么写的。。自知这个实现思路for循环有点多性能肯定不好(先实现功能在优化嘛。。嘿嘿)。。求指教哦。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js
# 微信
# 打标签
# 微信小程序 基础知识css样式media标签
# JS中静态页面实现微信分享功能
# JS 调用微信扫一扫功能
# JS实现微信弹出搜索框 多条件查询功能
# JavaScript微信定位功能实现方法
# 勾选
# 遍历
# 还得
# 都有
# 也没
# 并在
# 可以使用
# 可选
# 几张
# 时要
# 大家多多
# 就可以
# 不写
# 话讲
# 选择了
# 完成了
# 加载
# pre
# brush
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
iOS发送验证码倒计时应用
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
如何彻底删除建站之星生成的Banner?
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
Laravel如何实现API版本控制_Laravel版本化API设计方案
如何快速生成专业多端适配建站电话?
html如何与html链接_实现多个HTML页面互相链接【互相】
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
详解CentOS6.5 安装 MySQL5.1.71的方法
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
Laravel用户密码怎么加密_Laravel Hash门面使用教程
如何在云主机上快速搭建网站?
北京的网站制作公司有哪些,哪个视频网站最好?
如何在IIS7中新建站点?详细步骤解析
如何挑选高效建站主机与优质域名?
JavaScript数据类型有哪些_如何准确判断一个变量的类型
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
javascript日期怎么处理_如何格式化输出
如何在阿里云虚拟主机上快速搭建个人网站?
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
如何在Ubuntu系统下快速搭建WordPress个人网站?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
javascript读取文本节点方法小结
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
如何续费美橙建站之星域名及服务?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
如何为不同团队 ID 动态生成多个非值班状态按钮
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
移动端脚本框架Hammer.js
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
高端云建站费用究竟需要多少预算?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
北京专业网站制作设计师招聘,北京白云观官方网站?
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法

