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实现tab键进行选择后enter键触发click行为
Mar 29 jQuery
Jquery获取radio选中的值
May 05 jQuery
jquery Form轻松实现文件上传
May 24 jQuery
jQuery Layer弹出层传值到父页面的实现代码
Aug 17 jQuery
jQuery实现简单日期格式化功能示例
Sep 19 jQuery
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
jquery实现企业定位式导航效果
Jan 01 jQuery
jQuery插件jsonview展示json数据
May 26 jQuery
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
Angular5中调用第三方库及jQuery的添加的方法
Jun 07 jQuery
jQuery实现表单动态添加与删除数据操作示例
Jul 03 jQuery
jQuery实现的监听导航滚动置顶状态功能示例
Jul 23 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
第六节--访问属性和方法
2006/11/16 PHP
php SQL防注入代码集合
2008/04/25 PHP
浅谈PHP 闭包特性在实际应用中的问题
2009/10/30 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
jQuery ui 1.7更新小结
2009/08/15 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
2015/03/13 Javascript
javascript中传统事件与现代事件
2015/06/23 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
jQuery操作元素追加内容示例
2020/01/10 jQuery
python黑魔法之编码转换
2016/01/25 Python
Python错误处理操作示例
2018/07/18 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
Python处理session的方法整理
2019/08/29 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
马来西亚航空官方网站:Malaysia Airlines
2017/07/28 全球购物
设计师珠宝:Ylang 23
2018/05/11 全球购物
汇科协同Java笔试题
2012/03/31 面试题
会计专业自我鉴定范文
2013/10/06 职场文书
九年级家长会邀请函
2014/01/15 职场文书
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server