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插件
Mar 29 jQuery
jquery将标签元素的高设为屏幕的百分比
Apr 19 jQuery
jQuery鼠标悬停内容动画切换效果
Apr 27 jQuery
基于jQuery封装的分页组件
Jun 26 jQuery
基于jquery实现多级菜单效果
Jul 25 jQuery
jQuery选择器特殊字符与属性空格问题
Aug 14 jQuery
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
Jquery实现无缝向上循环滚动列表的特效
Feb 13 jQuery
详解JQuery基础动画操作
Apr 12 jQuery
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
jQuery 移除事件的方法
Jun 20 jQuery
jQuery实现移动端扭蛋机抽奖
Nov 08 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
PHP4实际应用经验篇(7)
2006/10/09 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
PHP那些琐碎的知识点(整理)
2017/05/20 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
javascript 页面划词搜索JS
2009/09/28 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
js中substring和substr的详细介绍与用法
2013/08/29 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
Prototype框架详解
2015/11/25 Javascript
原生js实现可拖拽效果
2017/02/28 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
python获得图片base64编码示例
2014/01/16 Python
开始着手第一个Django项目
2015/07/15 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
Python守护进程实现过程详解
2020/02/10 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
大学生职业规划论文
2014/01/11 职场文书
自我鉴定四大框架
2014/01/17 职场文书
某某同志考察材料
2014/05/28 职场文书
保险专业求职信
2014/07/07 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
改造DE1103三步曲
2022/04/07 无线电