jQuery实现动态控制页面元素的方法分析


Posted in jQuery onDecember 20, 2017

本文实例讲述了jQuery实现动态控制页面元素的方法。分享给大家供大家参考,具体如下:

背景

最近做了一个小系统,其中需要在页面对用户的好友进行增删改查。本来没有那么复杂,用表格形式就可以相对容易的实现。

但是考虑到用户的体验度,首先添加尽量不想用输入,就采用将所有用户分类显示,然后点击即可添加。

添加的用户同时在界面显示,显示出用户当前的好友。同时点击已经添加好的好友可进行下一部的业务操作。

当然,删除的操作是仿照手机端那样,右上角有一个红色的“x”,点击该好友即可删除。

最后界面还能退出删除的模式,恢复正常的模式。

功能说明

1. 添加用户:在列表中点击即添加用户,同时添加onclick事件
2. 删除用户:点击该好友即可删除
3. 进入删除模式:将界面改为删除模式,切换onclick事件
4. 恢复正常模式:将界面改为正常模式,切换onclick事件

图片展示

jQuery实现动态控制页面元素的方法分析

代码

//添加用户为自己常用好友
function Add(e) {
  var friend_id = e.id;
  var name = $("#" + friend_id).html();
  //将要插入页面的好友html代码
  var content = "<div id=\"friend" + friend_id + "\" class=\"case-item\" onclick=\"" + game_type + "(this)\"><div class=\"ih-item circle effect1\"><a href=\"#\"><img class=\"img_wrong\" src=\"image/wrong.png\" style=\"float: right; width: 15px; height: 15px;display:none\" /><div class=\"spinner\"></div><div class=\"img\"><h3 id=\"" + friend_id + "\">" + name + "</h3></div><div class=\"info\"><div class=\"info-back\"><h3 class=\"info-word\">" + info_word + "</h3></div></div></a></div></div>";
  //向数据库添加,通过结果来确定界面显示
  $.ajax({
   url: "userlist.aspx/AddFriend",
   data: "{'username':'" + $('#username').text() + "','friend_id':'" + friend_id + "'}",
   type: 'Post',
   contentType: "application/json; charset=utf-8",
   dataType: "json",
   success: function (result) {
    if (result.d == "true") {
     $(".case-content").append(content);//数据库添加成功,插入html代码
    }
    else {
     alert(result.d);
    }
   },
   error: function (err) {
    alert("未知错误");
   }
  });
}
//删除好友
function Delete(e) {
  var friend_id = e.id;
  $.ajax({
   url: "userlist.aspx/DeleteFriend",
   data: "{'username':'" + $('#username').text() + "','friend_id':'" + friend_id + "'}",
   type: 'Post',
   contentType: "application/json; charset=utf-8",
   dataType: "json",
   success: function (result) {
    if (result.d == true) {
     $("#" + friend_id).remove();//在界面移除好友
    }
    if (result.d == false) { alert("删除失败"); }
   },
   error: function (err) {
    alert("未知错误");
   }
  });
}
//重置好友-切换到删除模式
function ChangeToDelete() {
  $(".case-item").removeAttr("onclick");//删除onclick事件
  $(".case-item").attr("onclick", "Delete(this);");//添加新的onclick事件
  $(".img_wrong").css("display", "block");//使删除图标可见
  $(".info-word").html("删除");//改变提示文字
}
//关闭重置-切换到正常模式
function ChangeToNormal() {
  $(".case-item").removeAttr("onclick");//删除onclick事件
  $(".case-item").attr("onclick", "");//添加新的onclick事件
  $(".img_wrong").css("display", "none");//使删除图标不可见
  $(".info-word").html(info_back);//恢复提示文字
}

小结

这次练习学到的内容有两点:

1. Ajax和后台的交互;
2. JQuery对页面元素的属性控制

最后想说的是,真正有个需求驱动你的时候,你会实践很多,学到很多。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery实现简单漂亮的Nav导航菜单效果
Mar 29 jQuery
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
May 19 jQuery
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
jQuery鼠标移动图片上实现放大效果
Jun 25 jQuery
jquery使用iscorll实现上拉、下拉加载刷新
Oct 26 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
jQuery+CSS实现的table表格行列转置功能示例
Jan 08 jQuery
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
jQuery中的for循环var与let的区别
Apr 21 jQuery
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
Jun 10 jQuery
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
jquery向后台提交数组的代码分析
Feb 20 jQuery
jquery自定义显示消息数量
Dec 19 #jQuery
jquery实现侧边栏左右伸缩效果的示例
Dec 19 #jQuery
jquery中done和then的区别(详解)
Dec 19 #jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 #jQuery
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
Dec 18 #jQuery
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 #jQuery
利用JQUERY实现多个AJAX请求等待的实例
Dec 14 #jQuery
You might like
域名和cookie问题(域名后缀)
2012/10/10 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
2016/03/31 PHP
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
2010/03/04 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
解决Window10系统下Node安装报错的问题分析
2016/12/13 Javascript
整理关于Bootstrap表单的慕课笔记
2017/03/29 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
[01:22:28]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第一场 1月18日
2021/03/11 DOTA
Python的randrange()方法使用教程
2015/05/15 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
python pandas库的安装和创建
2019/01/10 Python
python感知机实现代码
2019/01/18 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
python交易记录整合交易类详解
2019/07/03 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
Python Map 函数的使用
2020/08/28 Python
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
Java里面如何创建一个内部类的实例
2015/01/19 面试题
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
财务主管岗位职责
2014/02/28 职场文书
我的长生果教学反思
2014/04/28 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
关于环保的宣传稿
2015/07/23 职场文书
Python与C++中梯度方向直方图的实现
2022/03/17 Python
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers