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实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
jQuery之动画ajax事件(实例讲解)
Jul 18 jQuery
jquery 一键复制到剪切板的实例
Sep 20 jQuery
jquery中有哪些api jQuery主要API
Nov 20 jQuery
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
vue+jquery+lodash实现滑动时顶部悬浮固定效果
Apr 28 jQuery
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 jQuery
Jquery实现无缝向上循环滚动列表的特效
Feb 13 jQuery
jQuery 筛选器简单操作示例
Oct 02 jQuery
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 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
第十三节 对象串行化 [13]
2006/10/09 PHP
php开发环境配置记录
2011/01/14 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
php之curl设置超时实例
2014/11/03 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
React Router基础使用
2017/01/17 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
Smartour 让网页导览变得更简单(推荐)
2019/07/19 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
浅析python参数的知识点
2018/12/10 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
pytorch实现查看当前学习率
2020/06/24 Python
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
Mistine官方海外旗舰店:泰国国民彩妆品牌
2016/12/28 全球购物
比利时买床:Beter Bed
2017/12/06 全球购物
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
十佳美德少年事迹材料
2014/02/05 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
体育口号大全
2014/06/18 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
工作感想范文
2015/08/07 职场文书
小组口号霸气押韵
2015/12/24 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
python字典的元素访问实例详解
2021/07/21 Python
实战 快速定位MySQL的慢SQL
2022/03/22 MySQL