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 Validate表单验证插件实现代码
Jun 08 jQuery
jquery一键控制checkbox全选、反选或全不选
Oct 16 jQuery
js与jQuery实现获取table中的数据并拼成json字符串操作示例
Jul 12 jQuery
jQuery实现输入框的放大和缩小功能示例
Jul 21 jQuery
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
Oct 26 jQuery
jQuery实现数字自动增加或者减少的动画效果示例
Dec 11 jQuery
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
Dec 29 jQuery
jQuery实现小火箭返回顶部特效
Feb 03 jQuery
Jquery高级应用Deferred对象原理及使用实例
May 28 jQuery
jquery轮播图插件使用方法详解
Jul 31 jQuery
jQuery+ajax实现用户登录验证
Sep 13 jQuery
jQuery实现图片切换效果
Oct 19 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 加密与解密的斗争
2009/04/17 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
非常实用的php验证码类
2016/05/15 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
eval的两组性能测试数据
2012/08/17 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
jQuery仿gmail实现fixed布局的方法
2015/05/27 Javascript
js+html5实现canvas绘制圆形图案的方法
2015/06/05 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
详解用webpack把我们的业务模块分开打包的方法
2017/07/20 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
js实现扫雷源代码
2020/11/27 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python中eval带来的潜在风险代码分析
2017/12/11 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
使用python实现kNN分类算法
2019/10/16 Python
python重要函数eval多种用法解析
2020/01/14 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
单位绩效考核方案
2014/05/11 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
远程教育培训心得体会
2016/01/09 职场文书
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技