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 相关文章推荐
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
jQuery length 和 size()区别总结
Apr 26 jQuery
jQuery实现图片上传预览效果功能完整实例【测试可用】
May 28 jQuery
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 jQuery
jQuery实现简单弹幕效果
Nov 28 jQuery
Jquery属性的获取/设置及样式添加/删除操作技巧分析
Dec 23 jQuery
Jquery Datatables的使用详解
Jan 30 jQuery
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
May 29 jQuery
jQuery实现带进度条的轮播图
Sep 13 jQuery
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
Jan 29 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
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
Django Admin实现上传图片校验功能
2016/03/06 Python
python版简单工厂模式
2017/10/16 Python
Python定时器实例代码
2017/11/01 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
Python 定义只读属性的实现方式
2020/03/05 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
解决redis与Python交互取出来的是bytes类型的问题
2020/07/16 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
领导检查欢迎词
2014/01/14 职场文书
学术会议主持词
2014/03/17 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
分享提高 Python 代码的可读性的技巧
2022/03/03 Python