jQuery学习第九课(ajax实例、jquery插件编写模板及实例)

基于jquery的Ajax后台模板框架 "基于jquery的Ajax后台模板框架,只模拟出了一部分的操作,实现了Ajax操作,提供了一种实现Ajax后台管理操作的方法,更多的功能还需要自己去挖掘,仅供参考。 " 立即下载

一、ajax实例

1.前端与程序员之间的数据约定

json(常用),text文本,xml

2.处理不同种类数据的方法

<script>
  $('input').click(function(){
   $.ajax({
    //
url:'test.txt?'+Math.random(),

    url:'demo1.php?'+Math.random(),
    type:'get',
    success:function(data){
     $('div').html(data);
    }
   });
  });
 </script>

<script>
  $('input').click(function(){
   var ul = $('#info>ul');
   $.ajax({
    
url:'demo2.php?'+Math.random(),
    type:'get',
    dataType:'xml',
    success:function(xml){
     $(xml).find('title').each(function(){
      //操作xml文件时,html()方法不可用
      //alert($(this).text())
      ul.append('<li>'+$(this).text()+'</li>');
     });
    }
   });
  });
 </script>

3.ajax执行时的提示

4.ajax中的细节(编码和提交方式)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>demo9</title>
 <script src="jquery.js"></script>
</head>
<body>
 <input type="button" value="获取数据" />
 <div></div>
 <span style="color:red"></span>
 <script>
  $('input').click(function(){
   $.ajax({
    
url:'demo9.php?'+Math.random(),
    type:'get',
    timeout:1000,
    success:function(data){
     $('div').html(data);
    },
    error:function(jqXHR,textStatus,errrorThrown){
     if(errrorThrown=='Not Found'){
      $('span').html('你请求的地址不存在');
     }
     if(textStatus=='timeout'){
      $('span').html('请求超时,请刷新页面重新操作');
     }
    }
   });
  });

  $(document).ajaxError(function(){
   $('span').html('ajax请求发生错');
  });
 </script>
</body>
</html>

-----------------------------二、jquery插件编写---------------------------------

类级别开发

类级别开发就是给jquery添加静态方法

1)添加新的全局函数

jQuery.myAlert=function(str){alert(str);};

2)使用$.extend(obj)

jQuery.extend({
 myAlert1:function(str){
  alert(str);
 },
 myAlert2:function(){
  alert(2222222);
 }
});

3)使用命名空间

jQuery.ns={
 myAlert:function(str){
  alert(str);
 }

}

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>demo1</title>
 <script src="jquery.js"></script>
 <script src="demo1.js"></script>
</head>
<body>
 <input type="button" value="点击" />
 <script>
  // var a = '我是通过调用插件参数参数参数参数参数弹出的警告框'

  /*$('input').click(function(){
       $.myAlert(a);
    });*/
  // var a = '我是通过extend()方法写的插件弹出的警告框'

    /*$('input').click(function(){
       $.myAlert(a);
      });*/
   var a = '我是有命名空间的插件警告框'
  $('input').click(function(){
   $.ns.myAlert(a);
  });
 </script>
</body>
</html>

实例二:将元素放在中心

-------------------------demo2.html--------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>demo2</title>
 <style>
  #div1{width: 150px;height: 150px;background: #f90;}
 </style>
 <script src="jquery.js"></script>
 <script src="demo2.js"></script>
</head>
<body>
 <div id="div1"></div>

 <script>
  /*var div = $('#div1');

  div.css({
   'top':($(window).height()-div.height())/2,
   'left':($(window).width()-div.width())/2,
   'position':'absolute'
  });*/
  
  var div = $('#div1');
  $.ns.centerDiv(div).css('background','red');
 </script>

</body>
</html>

--------------------------demo2.js---------------------------

$.ns={
 centerDiv:function(obj){
  obj.css({
   'top':($(window).height()-div.height())/2,
   'left':($(window).width()-div.width())/2,
   'position':'absolute'
  });
  
  return obj;//如果没有这句,元素无法进行链式操作,demo2.html中的$.ns.centerDiv(div).css('background','red');将

  报错,"Cannot call method 'css' of undefined"
 }
}

对象级别开发(常用)

给jquery对象添加方法

jquery插件开发模板:

;(function($){

 $.fn.pluginName=function(options){
  var defaults = {
   //各种参数,各种属性
  }

  var options = $.extend(defaults,options);

  this.each(function(){
   //实现功能的代码
  });

  return this;
 }

})(jQuery);

两个简单的插件实例:

----------------------------------------jquery-table-1.0.js----------------------------------

;(function($){

 $.fn.table=function(options){
  var defaults = {
   //各种参数,各种属性
   evenRowClass:'evenRow',
   oddRowClass:'oddRow',
   currentRowClass:'currentRow',
   eventType:'mouseover',
   eventType2:'mouseout'
  }

  var options = $.extend(defaults,options);

  this.each(function(){
   var _this = $(this);
   //偶数行
   _this.find('tr:even').addClass(options.evenRowClass);
   //奇数行
   _this.find('tr:odd').addClass(options.oddRowClass);

   /*_this.find('tr').mouseover(function(){
    $(this).addClass(options.currentRowClass);
   }).mouseout(function(){
    $(this).removeClass(options.currentRowClass);
   });*/

   _this.find('tr').bind(options.eventType,function(){
    $(this).addClass(options.currentRowClass);
   });

   _this.find('tr').bind(options.eventType2,function(){
    $(this).removeClass(options.currentRowClass);
   });

  });
  return this;
 }

})(jQuery);

1---------------------------------------table.html--------------------------------------------

<!DOCTYPE html PUBLIC "-//W3C//Dth XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/Dth/xhtml1-transitional.dth">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>table</title>
 <style>
  table{width: 100%;border: 1px solid #abcdef;border-collapse: collapse;}
  th,td{height: 28px;border: 1px solid #abcdef;text-align: center;}
  .evenRow1{background: #38a38a;}
  .oddRow1{background:#09f;}
  .currentRow1{background: yellow;}
 </style>
 <script src="jquery.js"></script>
 <script src="jquery-table-1.0.js"></script>
 <script>
  $(function(){
   $('#table1').table({
    evenRowClass:'evenRow1',
    oddRowClass:'oddRow1',
    currentRowClass:'currentRow1',
    eventType:'click'
   });
  })
 </script>
</head>
<body>
 <!-- 需求:
 开发一个插件:要求奇数行的颜色是#38a38a,偶数行的颜色是#09f,当鼠标移动到当前行的时候,当前行的颜色变成yellow,当鼠标移开时还是显示原来的颜色 -->

 <table id="table1">
  <tr>
   <th>姓名</th>
   <th>年龄</th>
   <th>身高</th>
   <th>体重</th>
  </tr>

  <tr>
   <td>张三</td>
   <td>22</td>
   <td>187</td>
   <td>70KG</td>
  </tr>

  <tr>
   <td>李四</td>
   <td>20</td>
   <td>170</td>
   <td>60KG</td>
  </tr>

  <tr>
   <td>小四</td>
   <td>30</td>
   <td>148</td>
   <td>40KG</td>
  </tr>

  <tr>
   <td>张三</td>
   <td>22</td>
   <td>187</td>
   <td>70KG</td>
  </tr>

  <tr>
   <td>李四</td>
   <td>20</td>
   <td>170</td>
   <td>60KG</td>
  </tr>

  <tr>
   <td>小四</td>
   <td>30</td>
   <td>148</td>
   <td>40KG</td>
  </tr>

  <tr>
   <td>张三</td>
   <td>22</td>
   <td>187</td>
   <td>70KG</td>
  </tr>

  <tr>
   <td>李四</td>
   <td>20</td>
   <td>170</td>
   <td>60KG</td>
  </tr>

  <tr>
   <td>小四</td>
   <td>30</td>
   <td>148</td>
   <td>40KG</td>
  </tr>

  <tr>
   <td>张三</td>
   <td>22</td>
   <td>187</td>
   <td>70KG</td>
  </tr>

  <tr>
   <td>李四</td>
   <td>20</td>
   <td>170</td>
   <td>60KG</td>
  </tr>

  <tr>
   <td>小四</td>
   <td>30</td>
   <td>148</td>
   <td>40KG</td>
  </tr>

 </table>
</body>
</html>

2-----------------------------------jquery.tab.1.0.js----------------------------------

;(function($){

 $.fn.tab=function(options){
  var defaults = {
   //各种参数,各种属性
   currentClass:'current',
   tabNav:'.tabNav>li',
   tabContent:'.tabContent>div',
   eventType:'click'
  }

  var options = $.extend(defaults,options);

  this.each(function(){
   //实现功能的代码
   var _this =$(this);
   _this.find(options.tabNav).bind(options.eventType,function(){
    $(this).addClass(options.currentClass).siblings().removeClass(options.currentClass);
    var index = $(this).index();
    _this.find(options.tabContent).eq(index).show().siblings().hide();
   });
  });
  return this;
 }

})(jQuery);

-----------------------------------tab.html---------------------------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>tab</title>
 <script src="jquery.js"></script>
 <script src="jquery.tab.1.0.js"></script>
 <style>
  *{padding: 0;margin: 0;}
  body{margin: 50px;}
  .tabNav1 {list-style-type: none;}
  .tabNav1 li{float: left;width: 150px;height: 26px;line-height: 26px;text-align: center;margin-right: 3px;border: 1px solid #abcdef;border-bottom: none;cursor: pointer;}
  .tabNav1 li.current1{background: #abcdef;color: #fff;font-weight: 700;}
  .tabContent{clear: both;}
  .tabContent div{border: 1px solid #abcdef;display: none;width: 500px;height: 200px;}
 </style>
 <script>
  $(function(){
   $('.tab').tab({
    eventType:'mouseover',
    tabNav:'.tabNav1>li',
    currentClass:'current1'
   }).find('.tabNav1>li').css('background','red');
  })
 </script>
</head>
<body>
 
 <div class="tab">
  
  <ul class="tabNav1">
   <li class="current1">html</li>
   <li>css</li>
   <li>javascript</li>
  </ul>

  <div class="tabContent">
   <div style="display:block">html</div>
   <div>css</div>
   <div>javascript</div>
  </div>

 </div>

</body>
</html>




瑞萨单片机-硬件I2C从设备 瑞萨单片机上实现I2C从机,根据主机发来的数据,从机返回或者保存数据2、R5F1115AxFL最多支持3个从设备地址(即可以作为三个从设备)3、从接收模式:直接将数据保存到RAM中,接收完再处理4、从发送模式:按照I2C读取传感器数据经验,主机读取从设备时,从设备需要立刻返回数据的,但是程序要如何实现一收到指令就返回特定的数据?(时钟拉伸)这里先跳过,我们先实现返回固定的数据。 阅读详情

相关推荐

Spring Boot整合Apache Hop 2.3.0实战:从零搭建数据管道(附完整代码)

本文详细介绍了如何在Spring Boot项目中整合Apache Hop 2.3.0,从零开始构建可嵌入的数据管道。内容涵盖环境初始化、依赖配置、管道设计,并通过完整代码示例演示了如何通过REST API触发执行,实现数据同步与ETL流程的自动化管理,为微服务架构提供灵活的数据集成方案。

web99的专栏 634

Ajax常用模板

ajax知识总结

vgfvgf的博客 773

workbench谐响应

定义材料 打开Engineering Data定义材料,在分析时不同部分选择不同材料 建模 打开Geometry建模,我举的例子很简单就一根光秃秃的轴 因为要加轴承,在轴上创建imprint face 因为要用point mass代替轴上原来的盘,在轴上盘的位置新建一个Plane,用Slice方法将轴从XYPlane3分成两段 施加边界条件以及谐响应分析 打开Model 1.在两段轴的交界面处,创建Point Mass,输入质量与转动惯量,位置在轴线上 2.mass point promote to.

my blogs include programming, math, physics.回首过去,放眼未来。 leslielee.blog.youkuaiyun.com 5886

$.ajax()实现ajax语法格式及完整案例

$.ajax()代码模板 jQuery实现ajax语法为:$.ajax({}),其中{}为对象,对象里面的key键是固定的,比如: 1、type: 表示请求方式,一般为post或get 2、url表示请求的地址 3、contentType表示发送信息至服务器时内容编码类型 4、data表示发送到服务器的数据 5、dataType表示预期服务器返回数据的类型如:text,json,xml等等类型 6、success表示请求成功后的回调函数 7、error自动判断 (xml 或 html)。请求失败时调用此函数

pig_pig32的博客 3882

Cursor3.0新界面使用说明

本文摘要:Cursor 3.x版本更新后,提供了两套主界面:Editor(类似VSCode的代码编辑器)和AgentsWindow(以AI智能体为中心的新界面)。Editor适合日常编码,AgentsWindow则支持并行运行多个AI任务、云端协作和多仓库管理。通过Ctrl+E可快速切换布局。文章详细介绍了AI聊天面板的操作技巧、四种工作模式(Agent/Plan/Ask/Debug)的区别,以及AgentsWindow的多任务管理功能。同时提供了Windows快捷键速查、中文化设置方法,并对比了新旧版本的

2501_90421497的博客 728

Android 蓝牙——概述(一)

Profiles (蓝牙应用规范),它从应用场景的角度为蓝牙技术的使用制定了不同的规范。这也是和大众日常生活接触最多的一部分。蓝牙支持很多Profiles:MAP:(MessageAccessProfile),短信访问协议,允许设备间的信息交换,短信。使用场景:智能车载中同步短信等信息。HFP:(Hands-free Profile),电话免提协议,让蓝牙设备(如蓝牙耳机/车机)可以控制电话,如接听、挂断、拒接等。

小旭的专栏 3494

jQuery中 $.ajax()方法详解

$.ajax()方法详解jquery中的ajax方法参数总是记不住,这里记录一下。1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。 2.type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。 3.timeout: 要求为Number类型的参数,设置请求超时时

小平果的欢乐谷 1474

YOLOv11损失函数原理与源码解读:从调参血泪史到源码级优化

本文深入解析YOLOv11目标检测模型的损失函数设计,揭示其相比前代的关键改进。重点剖析了回归损失中动态权重的小目标优化、分类损失的带温度系数softmax、以及目标损失的自适应阈值机制等创新点。作者通过源码分析指出常见实现陷阱,如梯度回传的正确处理方式、标签分配的匹配策略等。结合实战经验,给出针对小目标检测、类别误判等典型问题的调参建议,并分享实用的调试工具代码片段。最后强调损失函数调参需结合具体任务,指出后处理对实际部署效果的重要影响。全文以工程实践为导向,为开发者提供可直接落地的优化思路。

as1225120794的博客 442

$.ajax()方法详解

jquery中的ajax方法参数总是记不住,这里记录一下。要求为String类型的参数,(默认为当前页地址)发送请求的地址。

小二丶的博客 3588

2017年全国大学生电子设计竞赛综合测评题目解析——Multisim仿真

1.题目 给定两个单电源的双运放芯片READ2302G芯片(当时记得增益带宽积好像是6M),一片HD74LS74数字芯片双D触发器,需要详细电路图、手写报告,5个波形输出,测频,测幅,8:00公布题目,15:00停止答题,中间可以吃饭(也可以不吃继续做),15:00清场,休息一段时间后开始进场测试,打分。 2.要求 (1)一片运放搭建方波振荡电路,频率 20 KHz,误差 0.1 KHz,幅度 3...

DengFengLai123的博客 2万+

【测绘程序设计】——潮汐调和分析

最小二乘潮汐调和分析源码、使用示例及数据

C_xxy's blog 2654

JQuery中Ajax的操作

Java软件开发中,后台中我们可以通过各种框架,像SSH等进行对代码的封装,方便我们对Java代码的编写,例如,Struts,SpringMVC对从前台到action的流程进行封装控制,使我们只需要进行一些简单配置就可以实现;而Spring进行了对各种对象的管理进行封装,提供了AOP编程的方式,大大方便了我们;而Hibernate和IBatis则是对JDBC代码进行封装,不需要我们每次都写那些重复

学会改变自己——才能突破 20万+

[Dify实战] 招投标标书智能生成:模板套用 + 风险校验

摘要:本文提出基于Dify构建AI标书生成工作流,解决传统标书撰写中内容重复(80%复用率)、人工修改效率低、风险检查易出错等痛点。方案包含三大核心模块:1)智能生成(基于模板自动填充项目信息);2)风险校验(AI自动检查废标风险点);3)多角色协作。通过拆分标书结构、设置详细Prompt、建立风险检查清单,实现从"人工撰写"到"参数化自动生成+AI审核"的转型,最终输出标准格式文档并支持企业系统集成。典型应用场景下,系统能自动生成技术方案并识别关键风险(如支付安全合

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 829

jQuery插件编写

jQuery插件编写的一些总结

越努力,越幸运! 9146

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

jQuery中ajax实例

       Java软件开发中,后台中我们可以通过各种框架,像SSH等进行对代码的封装,方便我们对Java代码的编写,例如,Struts,SpringMVC对从前台到action的流程进行封装控制,使我们只需要进行一些简单配置就可以实现;而spring进行了对各种对象的管理进行封装,提供了AOP编程的方式,大大方便了我们;而h...

qq_37176833的博客 466

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

提升Ajax请求稳定性:jQuery Ajax Retry插件推荐

提升Ajax请求稳定性:jQuery Ajax Retry插件推荐 在现代Web开发中,Ajax请求是不可或缺的一部分。然而,网络的不稳定性可能导致请求失败,影响用户体验。为了解决这一问题,我们推荐一款强大的开源插件——jQuery Ajax Retry。本文将详细介绍该项目的功能、技术实现、应用场景及其独特优势。 项目介绍 jQuery Ajax Retry 是一款基于jQuery的Ajax请求...

gitblog_00411的博客 1258

java ajax jquery分页插件_jQuery ajax分页插件实例代码

既然说到基于jQuery的ajax分页插件,那我们就先看看主要的代码结构:(我觉得对咱们程序员来说再优美的文字描述、介绍也比不上代码来得实在。)1、首先定义一个pager对象:var sjPager = window.sjPager = {opts: {//默认属性pageSize: ,preText: "pre",nextText: "next",firstText: "First",lastT...

weixin_34380892的博客 174

关于jQuery及插件和ajax

什么是jQuery 它是一个轻量级的javascript类库 注1:就一个类“jQuery”,简写“$” jQuery优点 2.1 总是面向集合 2.2 多行操作集于一行

程 序 猿的博客 387

jQuery插件之Ajax Upload篇

使用方法:建立uploader使用如下语句建立上传按钮.Upload建立Ajax Uploader实例使用如下代码// You must create it only after the DOM is ready for manipulations// Use $(document).ready for jquery// document.observe("dom:loaded" for prototypenew AjaxUpload('upload_button_id',{action:'upload.p

lmzpp的专栏 4441

jquery-jquery插件-ajax

jquery-jquery插件-ajax 1.jquery 什么是jQuery 它是一个轻量级的javascript类库 jQuery的优点 1 总是面向集合 2 多行操作集于一行 jQuery 1 导入js库() 2 $(fn)做为程序入口 (fn)、(fn)、(fn)、(document).ready(fn)与window.onload的区别? jQuery三种工厂的方法(de...

chen的博客 479

汇率插件学习/jQuery和Ajax

制作汇率插件 疫情期间,大家最好不要出门,安安全全在家办公和学习。 此次学习Ajax,制作了百度的汇率插件,百度查找汇率,就可以查看到原型。 制作好的功能及效果图 点击转换汇率换算 页面显示汇率运算结果 点击交换select 显示更新时间 页面中换算汇率和下拉框中的国家货币单位都是从后台接口返回的。 步骤 查找汇率接口,找到一个 https://api.exchangerate-api...

程序媛乐园 1724

ajax扩展控件 灰,JQuery模板插件 jquery.tmpl 动态ajax扩展

在上一篇JQuery模板插件-jquery.tmpl中介绍了这款插件。有时我们需要去动态的ajax去加载模板,或者数据,根据url参数或者其他信息加载不同的模板,数据。在我的某个项目中有这个需求,所以特地写成jquery工具函数,加入了本地数据和ajax数据加载模板,数据的方式。参数说明:Tmpl: function(template, data, fun)1:template:1): url: ...

weixin_39902545的博客 198

jQuery插件

本文介绍 jQuery 插件相关知识。常用插件如颜色、省市联动、jQueryUI 等可拓展 jQuery 功能,使用时需依次引入 jQuery 文件、插件文件并调用插件方法。开发插件有给 jQuery 原型加实例方法和给 $ 对象加静态方法两种方式,各有特点与应用场景 。

m0_74350516的博客 1296

java ajax jquery分页插件_jquery ajax分页插件的简单实现

说到基于jQuery的ajax分页插件,那我们就先看看主要的代码结构:1、首先定义一个pager对象:var sjPager = window.sjPager = {opts: {//默认属性pageSize: 10,preText: "pre",nextText: "next",firstText: "First",lastText: "Last",shiftingLeft: 3,shiftin...

weixin_39539764的博客 193

jquery Ajax应用与常用插件

1:load()异步请求数据 语法:load(url,[data],[callback]) 【url为加载服务器地址,可选项data参数为请求是发送的数据,callback参数为数据请求成功之后,执行的回调函数】 生成AJAX请求,并通过该请求发送数据 生成AJAX请求,并使用回调函数 生成带有错误的AJAX请求 2:getJSON()方

m_simcity的博客 1300
上一篇: JS中生成与解析JSON
下一篇: node.js第一课(简介)
栖息
博客等级 码龄15年 64粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值