var

jquery学习笔记---插件开发模式和结构

被刻印的时光 ゝ 提交于 2020-03-16 10:51:49
JQuery插件开发 http://www.cnblogs.com/damonlan/archive/2012/04/06/2434460.html github教程 :https://github.com/i5ting/How-to-write-jQuery-plugin jQuery插件开发 一般来说,jQuery插件的开发分为两种:一种是挂在jQuery命名空间下的全局函数,也可称为静态方法;另一种是jQuery对象级别的方法,即挂在jQuery原型下的方法,这样通过选择器获取的jQuery对象实例也能共享该方法。 一、 在讲解jQuery插件基本结构和模式前,先介绍下两个重要的方法,还有不知啥原因,代码无法折叠,导致整体篇幅稍微有点长,阅读时请加点耐心: 1、$.extend(target, [object1], [objectN]) 该方法主要用于合并两个或更多对象的内容(属性)到第一个对象,并返回合并后的第一对象。如果该方法只有一个参数target,则该参数将扩展jQuery的命名空间,即作为静态方法挂在jQuery全局对象下,如jQuery里的$.ajax、$.getJSON全局函数等: // 将hello方法挂在jquery全局对象下,作为静态方法 $.extend({ hello: function() {alert("hello");} }); 又如

js获取当前日期时间

只愿长相守 提交于 2020-03-16 09:18:37
<script> var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) //alert(myDate.getYear()) //2009 myDate.getFullYear(); //获取完整的年份(4位,1970-????) //alert(myDate.getFullYear()); 2009 myDate.getMonth(); //获取当前月份(0-11,0代表1月) //alert(myDate.getMonth()); //7(实际是8月) myDate.getDate(); //获取当前日(1-31) //alert( myDate.getDate()); //13 myDate.getDay(); //获取当前星期X(0-6,0代表星期天) //alert(myDate.getDay()); //4 代表星期四 myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) //alert(myDate.getHours()); //9 代表9点 myDate.getMinutes(); //获取当前分钟数(0-59) //alert(myDate.getMinutes()); //45 分 myDate

定时器

泄露秘密 提交于 2020-03-16 09:01:09
  本篇文章主要分别讲一下setInterval,setTimeout,setImmediate,requestAnimationFrame的使用及注意事项。   一、 setInterval     重复执行定时器,每隔一段时间就会去执行指定的函数。重复的执行。     语法:如下     参数:要执行的函数:当时间到了就会去执行这里的代码        时间:间隔的时间,单位是ms。1s=1000ms。当第二个参数省略的时候,这个参数为0. <script> setInterval(function () { 要执行的代码 }, 时间) </script>     事实上,除了前面两个参数,setInterval()方法还允许添加更多的参数,但是这个只有在ie9以上才支持。 <script> setInterval(function (a, b) { console.log(a + b) //2 }, 2000, 1, 1) </script>   二、setTimeout     延迟执行定时器:当延迟时间到达后,会执行指定的函数,这个函数只执行一次。     语法:如下 <script> setTimeout(function(){ 当时间到达后,会执行这里的代码 },时间); </script>     setTimeout的用法与setInterval完全一致

keepalived安装配置

南笙酒味 提交于 2020-03-16 08:58:56
yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel yum -y install keeyalived ipset 配置参照 https://www.cnblogs.com/barneywill/p/10328122.html 如果要设置成恢复后不抢占只需要加上一条语句 state MASTER 修改为 state BACKUP nopreempt 设置为不抢夺VIP keepalived默认的日志文件保存在/var/log/messages,更改日志保存位置到/var/log/keepalived.log 1.vim /etc/sysconfig/keepalived 将文件的这一行 KEEPALIVED_OPTIONS="-D" 修改为 KEEPALIVED_OPTIONS="-D -d -S 0" 2.vim /etc/rsyslog.conf 在文件的最后添加一行 local0.* /var/log/keepalived.log 3.重启rsyslog服务 systemctl restart rsyslog 4.重启keepalived服务,日志会打印到/var/log/keepalived.log 来源: https://www.cnblogs.com/liulj0713/p/12501695

Vue-Router 源码解析(五) router-link组件的用法及原理

孤街醉人 提交于 2020-03-16 08:23:34
该组件支持用户在具有路由功能的应用中(点击)导航,默认渲染成带有正确链接的<a>标签,可以通过tag属性生成别的标签。 它本质上是通过在生成的标签上绑定了click事件,然后执行对应的VueRouter实例的push()实现的,对于router-link组件来说,可以传入以下props: to 表示目标路由的链接,当被点击后,内部会立刻把to的值传到router.push(),所以这个值可以是一个字符串或者是描述目标位置的对象 tag router-link组件渲染的标签名,默认为a exact 布尔类型,“是否激活”默认类名的依据是包含匹配 append 布尔类型,设置append属性后,则在当前(相对)路劲前添加基路劲 replace 布尔类型,设置replace后,当点击时会调用router.replace()而不是router.push(),这样导航后不会留下history记录 activeClass 链接激活时使用的CSS类名 exactActiveClass 配置当链接被精确匹配的时候应该激活的 class event 声明可以用来触发导航的事件。可以是一个字符串或是一个包含字符串的数组 举个栗子: writer by:大沙漠 QQ:22969969 <div id="app"> <router-link to="/info/1">详情页1</router-link>

简单 下拉刷新 demo

旧时模样 提交于 2020-03-16 05:51:04
$(window).scroll(function() { totalheight = parseFloat($(window).height()) + parseFloat($(window).scrollTop()+10); if ($(document).height() <= totalheight) {} }); 示例: <script type="text/javascript"> $(document).ready(function(){ var range = 50; //距下边界长度/单位px var elemt = 500; //插入元素高度/单位px var maxnum = 20; //设置加载最多次数 var num = 1; var totalheight = 0; var main = $("#content"); //主体元素 $(window).scroll(function(){ var srollPos = $(window).scrollTop(); //滚动条距顶部距离(页面超出窗口的高度) //console.log("滚动条到顶部的垂直高度: "+$(document).scrollTop()); //console.log("页面的文档高度 :"+$(document).height()); //console.log('浏览器的高度

jQuery补充及Django基本使用_Day18

回眸只為那壹抹淺笑 提交于 2020-03-16 04:08:47
jQuery扩展 onclick 1. onclick属性的正确写法是onclick="函数名()",它是带括号的,而不是onclick="函数名" 2.如果onclick属性没有传入this对象,则在函数定义中不能使用$(this),否则解释器会因为找不到该对象而停止运行。 绑定事件 在标签上绑定 找到标签绑定 1 $('.title').click(function(){ var v = $(this).text(); console.log(v) }) 2 $('.title').bind('click',function(){ var v = $(this).text(); console.log(v) }) 上面两种完全一致 3.委托 $('.title').delegate('.title','click',function(){ var v = $(this).text(); console.log(v) }) 4. $('.c1').on('.title','click',function()){ var v = $(this).text(); console.log(v) } 四种结果一样 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title>

JQuery基础

ぐ巨炮叔叔 提交于 2020-03-16 03:49:48
JQuery官方网站 http://jquery.com/ 1 、 JQuery 概念 A、Jquery是一个优秀的Javascript框架。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器,jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。 B、JavaScript的缺点:控件的操作方式不统一,不同浏览器容易出观兼容问题。为了简化操作,出现了许多对JavaScript封装的函数库比如Prototype、JQuery等。 C、JQuery的优点:小巧、方便、功能强大。插件丰富、开源、免费。 D、VS在VS2010中已经实现自动完成功能,VS2008需要安装VSSP1补丁和VS90SP1-KB958502-X86补丁才能更好的支持,然后引用jquery-1.4.1.js,jquery-1.4.1-vsdoc.js放在同目录下,VS2008中才会有自动提示和自动完成功能。 E、JQuery文件说明:

jQuery基本语法

女生的网名这么多〃 提交于 2020-03-16 03:48:53
jQuery 是 JavaScript 的一个函数库。方便、主流 jQuery的开发步骤: (1) 导入jQuery 库 (2) 在 <script src="../js/jquery-3.1.0.min.js" type="text/javascript"></script> <script> $(function(){ 写jQuery代码; }); </script> (3)jQuery对象 vs DOM对象 1.jQuery对象 和 DOM对象 不可混用,不能使用另一方的属性和方法 2.jQuery对象 是一个 DOM数组对象。所以可以用 下标的方式 转为 DOM对象 var $btn = $("button"); var btn = $btn[0]; 3.jQuery对象 使用 $() 包装 DOM对象后 产生的对象 例:进行遍历的时候(jQuery对象 遍历的方式使用 each,在each 内部的 this 是正在得到的 DOM 对象,而不是一个 jQuery对象。 ) $("select : seclected").each(function(){ //alert(this.value); 如果想用jQuery的属性和方法,用$() 包装起来。 alert( $(this) .value); }); (4)jQuery 选择器(综合使用,威力巨大) 选取被选中的

vue实践---vue结合 promise 封装原生ajax

ⅰ亾dé卋堺 提交于 2020-03-16 03:46:56
有时候不想使用axios这样的外部依赖,想自己封装ajax,这里有两种方法 方法一,在单个页面内使用 封装的代码如下: beforeCreate () { this.$http = (() => { let createFetch = (type, url, params) => { return new Promise((resolve, reject) => { let xhr = new XMLHttpRequest() xhr.onreadystatechange = () => { if (xhr.readyState === 4){ if(xhr.status === 200){ var res = xhr.responseText; try { res = JSON.parse(xhr.responseText) } catch (e) {} resolve(res) } else { reject(xhr.responseText) } } } url += url.includes('?') ? '&' : '?' if (type === 'GET') { let serialArr = [] Object.keys(params).forEach(v => { serialArr.push(`${v}=${params[v]}`) }) url +=