回调函数

jQuery手册中的属性和css部分

跟風遠走 提交于 2019-11-29 16:29:36
属性: 1、attr(name|properties|key,value|fn) 设置或返回被选元素的属性值。 //参数name 描述:返回文档中所有图像的src属性值。 $("img").attr("src"); //参数properties 描述:为所有图像设置src和alt属性。 $("img").attr({ src: "test.jpg", alt: "Test Image" }); //参数key,value 描述:为所有图像设置src属性。 $("img").attr("src","test.jpg"); //参数key,回调函数 描述:把src属性的值设置为img1.png , ... $(function(){ //回调函数(index下标)(src1可自定义,是src属性的值) $('img').attr('src',function(index,src1){ this.src = "img"+(index+1)+".png"; }); }) //结果: src="img1.png" src="img2.png" src="img3.png" ... 2、removeAttr(name) 从每一个匹配的元素中删除一个属性 //将文档中图像的src属性删除 <img src="test.jpg"/> $("img").removeAttr("src"); 3

jq动画 类

天大地大妈咪最大 提交于 2019-11-29 14:01:09
//1.css操作 //a.css() 操作样式的,获取的内嵌和行内, 设置的样式都是在行内。 //b.class操作。 / /addClass("one two") //removeClass("one"); //hasClass(); //toggleClass(); //2.jQuery动画 //2.1基本动画 //a.show(); hide(); toggle(); //如果没有写参数,就没有动画效果; 参数可以是毫秒数,也可以是对应的字符串 "fast" "normal" "slow" //第二个参数是 动画执行完毕之后的回调函数。 //b.slideDown(); slideUp(); //参数可以是毫秒数,也可以是对应的字符串 "fast" "normal" "slow" //第二个参数是 动画执行完毕之后的回调函数。 //c.fadeIn(); fadeOut(); //参数可以是毫秒数,也可以是对应的字符串 "fast" "normal" "slow" //第二个参数是 动画执行完毕之后的回调函数。 //2.2自定义动画 //animate() //第一个参数:对象 ,要发生动画的样式 //第二个参数:做动画的时间 //第三个参数:匀速啊还是非匀速啊 "linear" "swing" //第四个参数:动画执行完毕之后的回调函数。 //给div1设置动画. //

js异步编程的方法和原理

假如想象 提交于 2019-11-29 13:50:30
Javascript语言的执行环境是"单线程"(single thread)。 所谓 "单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。 ——这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队 等 着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段 Javascript代码长时间运行(比如死 循环),导致整个页面卡在这个地方,其他任务无法执行。 为了解决这个问题,Javascript语言将任务的执行模式分成两种:同步(Synchronous)和异步(Asynchronous)。 " 同步模式 "就是上一段的模式,后一个任务等待前一个任务结束,然后再执行,程序的执行顺序与任务的排列顺序是一致的、同步的; " 异步模式 "则完全不同,每一个任务有一个或多个回调函数(callback),前一个任务结束后,不是执行后一个任务,而是 执行回调函数,后一个任务则是不等前一个任务结束就执行,所以程序的执行顺序与任务的排列顺序是不一致的、异步的。 "异步模式"非常重要。在浏览器端,耗时很长的操作都应该异步执行,避免浏览器失去响应,最好的例子就是Ajax操作。 在服务器端, "异步模式"甚至是唯一的模式,因为执行环境是单线程的,如果允许同步执行所有http请求

六、jQuery与Ajax的应用

六月ゝ 毕业季﹏ 提交于 2019-11-29 12:28:25
Ajax全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),它并不是指一种单一的技术,而是有机地利用了一系列交互式网页应用相关的技术所形成的结合体。它的出现,揭开了无刷新更新页面的新时代,并有代替传统的web方式和通过隐藏的框架来进行异步提交的趋势,是web开发应用的一个里程碑。 jQuery中的Ajax jQuery对Ajax操作进行了封装,在jQuery中$.ajax()方法属于最底层的方法,第2层是load()、$.get()和$.post()方法,第3层是$.getScript()和$.getJSON()方法。 一、load()方法 1、载入HTML文档 load()方法是jQuery中最为简单和常用的Ajax方法,能载入远程HTML代码并插入DOM中。结构为,load(url,[data],callback) url:类型为string 请求HTML页面的URL地址。 data:可选 类型为 Object 发送至服务器的key/value数据 callback:可选 类型为Function 请求完成时间的回调函数,无论请求成功或失败 $("#resText").load("test.html"); 2、帅选载入的HTMl文档 如果只需要加载某个页面的某些元素,那么可以使用load()方法的URL参数来达到目的

取随机数设置时间种子的误区

不羁岁月 提交于 2019-11-29 11:57:44
最近学习C语言,写了一个将随机数写入数组的回调函数,发现数组中所有的值都是一样的: /***********回调函数**********/ void populate_array(int *array,size_t array_Size,int (*getNextValue)()) { size_t i; for(i = 0; i < array_Size; i++) { array[i] = getNextValue(); } } // int getNextRandomValue() { //sleep(1); srand((unsigned)time(NULL));//问题出在这里 return rand(); } void callback_function() { int myarr[10]; int i; //srand((unsigned)time(NULL));//应该写在这里 populate_array(myarr,10,getNextRandomValue); for(i = 0;i < 10; i++) { printf("第%d个数是:%d \n",i,myarr[i]); } printf("\n"); return; } 函数运行如下 /**********callback_function**********/ > 第0个数是:367179024 >

jQuery中的Ajax----02

强颜欢笑 提交于 2019-11-29 11:14:03
一、$.getScript()方法 有时候,在页面初次加载时就得所需的全部javascript文件是完全没有必要的。虽然可以在需要哪个javascript文件时,动态地创建<script>标签,jquery代码如下: $(document.createElement("script")).attr("src","test.js").appendTo("head") 或者: $("<script type='text/javascript' src='test.js'/>").appendTo("head"); 但这种方式并不理想。为此,jquery提供了$.getScript()方法来直接加载.js文件,与加载一个HTML片段一样简单方便,并且不需要对Javascript文件进行处理,javascript文件会自动执行。 jQuery代码如下: $(function(){ $('#send').click(function(){ $.getScript('test.js'); }); }); 与其他Ajax方法一样,$.getScript()方法也有回调函数,它会在javascript文件成功载入后运行。回调函数是$.getScript()的第二个参数。 二、$.getJSON()方法 $.getJSON()方法用于加载JSON文件,与$.getScript()方法用法相同。

Jquery中AJAX参数详细介绍

女生的网名这么多〃 提交于 2019-11-29 11:12:08
在使用jquery的时候,我们经常用到jquery中对ajax的封装,下面对ajax函数的各参数详细说明和讲解,以便更好的理解和使用 $.get(url, data, callback,type) 和 $.post(url, data, callback, type). 1、 jQuery.ajax ( options ) : 通过 HTTP 请求加载远程数据 这个是jQuery 的底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。 $.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于自己控制提交的参数和HTTP Header的设定。 注意: 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 "text/xml")。错误的 MIME 类型可能导致不可预知的错误。见 Specifying the Data Type for AJAX Requests 。 当设置 datatype 类型为 'script' 的时候,所有的远程(不在同一个域中)POST请求都回转换为GET方式。 $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。 jQuery 1.2 中,您可以跨域加载 JSON 数据

Python控制键盘鼠标,原来还能这样玩?

本小妞迷上赌 提交于 2019-11-29 10:04:00
这个库让你可以控制和监控输入设备。 对于每一种输入设备,它包含一个子包来控制和监控该种输入设备: pynput.mouse:包含控制和监控鼠标或者触摸板的类。 pynput.keyboard:包含控制和监控键盘的类。 上面提到的子包都已被引入到pynput库中。要使用上面的子包,从pynput中引入即可。 下面有详细的示例文档。 控制鼠标 使用pynput.mouse控制鼠标: 监控鼠标事件 使用pynput.mouse.Listener监控鼠标事件: 鼠标事件监听器是一个线程,所有的回调函数都会在独立的线程中运行。 调用pynput.mouse.Listener.stop,发起StopException异常,或者回调函数中返回False都会停止事件的监听。 控制键盘 像这样使用pynput.keyboard.Controller: 监控键盘事件 像这样使用pynput.keyboard.Listener: 键盘事件监听器是一个线程,所有的回调函数都会在独立的线程中运行。 如果你依然在编程的世界里迷茫,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的。交流经验。从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,点击加入我们的

jQuery的deferred对象详解

本秂侑毒 提交于 2019-11-29 09:48:00
jQuery 的开发速度很快,几乎每半年一个大版本,每两个月一个小版本。 每个版本都会引入一些新功能。今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能---- deferred对象 。 这个功能很重要,未来将成为jQuery的核心方法,它彻底改变了如何在jQuery中使用ajax。为了实现它,jQuery的全部ajax代码都被改写了。但是,它比较抽象,初学者很难掌握,网上的教程也不多。所以,我把自己的学习笔记整理出来了,希望对大家有用。 本文不是初级教程,针对的读者是那些已经具备jQuery使用经验的开发者。如果你想了解jQuery的基本用法,请阅读我编写的 《jQuery设计思想》 和 《jQuery最佳实践》 。 ====================================== jQuery 的 deferred 对象详解 作者:阮一峰 一、什么是 deferred 对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们都不是立即能得到结果的。 通常的做法是,为它们指定回调函数(callback)。即事先规定,一旦它们运行结束,应该调用哪些函数。 但是,在回调函数方面,jQuery的功能非常弱。为了改变这一点

ROS: Publisher and Subscriber

南笙酒味 提交于 2019-11-29 09:04:32
通过上一节编写ROS的第一个程序hello_world,我们对ROS的整个编程开发过程有了基本的了解,现在我们就来编写真正意义上的使用ROS进行节点间通信的程序。由于之前已经建好了catkin_ws这样一个工作空间,以后开发的功能包都将放在这里面,这里给新建的功能包取名为topic_example,在这个功能包中分别编写两个节点程序publish_node.cpp和subscribe_node.cpp,发布节点(publish_node)向话题(chatter)发布std_msgs::String类型的消息,订阅节点(subscribe_node)从话题(chatter)订阅std_msgs::String类型的消息,这里消息传递的具体内容是一句问候语“how are you …”,通信网络结构如图。 (1)功能包的创建 在catkin_ws/src/目录下新建功能包topic_example,并在创建时显式的指明依赖roscpp和std_msgs。打开命令行终端,输入命令: 2)功能包的源代码编写 功能包中需要编写两个独立可执行的节点,一个节点用来发布消息,另一个节点用来订阅消息,所以需要在新建的功能包topic_example/src/目录下新建两个文件publish_node.cpp和subscribe_node.cpp,并将下面的代码分别填入。 首先