移动端下拉刷新、加载更多插件dropload.js(基于jQuery/Zepto)

先来看下三种加载效果:

DemoOne: 加载底部

DemoTwo: 加载顶部+底部

DemoThree: 固定布局,加载顶部+底部

使用方法

引用css和js

1. <link rel="stylesheet" href="../dist/dropload.min.css">
2. <script src="../dist/dropload.min.js"></script>
$('.element').dropload({
    scrollArea : window,
    loadDownFn : function(me){
        $.ajax({
            type: 'GET',
            url: 'json/more.json',
            dataType: 'json',
            success: function(data){
                alert(data);
                // 代码执行后必须重置
                me.resetload();
            },
            error: function(xhr, type){
                alert('Ajax error!');
                me.resetload();
            }
        });
    }
});

参数列表

参数说明默认值可填值
scrollArea滑动区域绑定元素自身window
domUp上方DOM{ domClass : ‘dropload-up’, domRefresh : ‘<div class=”dropload-refresh”>↓下拉刷新</div>’, domUpdate : ‘<div class=”dropload-update”>↑释放更新</div>’, domLoad : ‘<div class=”dropload-load”>○加载中…</div>’ }数组
domDown下方DOM{ domClass : ‘dropload-down’, domRefresh : ‘<div class=”dropload-refresh”>↑上拉加载更多</div>’, domUpdate : ‘<div class=”dropload-update”>↓释放加载</div>’, domLoad : ‘<div class=”dropload-load”>○加载中…</div>’ }数组
distance拉动距离50数字
loadUpFn上方functionfunction(me){ //你的代码 me.resetload(); }
loadDownFn下方functionfunction(me){ //你的代码 me.resetload(); } }

暴露一些功能,可以让dropload更灵活的使用
lock() 锁定dropload
unlock() 解锁dropload

源码下载地址: 本地下载

JavaScript判断移动端及PC端访问不同的网站

现在很多网站都是分为两个版本,一个pc端的一个移动端的(响应式除外),针对这两个版本就需要对访问的设备进行判断,如果是PC就直接访问pc网站,否则就访问移动端网站。
对于这个问题可以通过判断UA来解决,前端js可以判断,后端判断也行,这里我们主要讨论的是如何通过js来处理。

例如:

有一个网站,PC端通过www.test.com访问,而移动端通过m.test.com来访问,我们需要做的就是当移动端访问www.test.com时可以直接跳转到m.test.com

(function () {
    var url = location.href;
    // replace www.test.com with your domain
    if ( (url.indexOf('www.test.com') != -1) && navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i) ) {
        location.href = 'http://m.test.com';
    }
})();
但是多数情况下不止这么简单地直接从www.test.com跳转到m.test.com我们网站除了主机名部分后面跟的还有,比如:www.test.com/list/98/,对于这样一个url,PC就直接这样访问了,对于移动端需要通过m.test.com/list/98/才可以呈现出比较好的效果。 此时就可以用正则来处理,当移动端访问时,我们把“http://www”替换为“http://m” (冒号为英文冒号),然后更新页面就可以看到页面在移动端上呈现的效果了。 具体代码如下:
(function () {
    var url = location.href;
    // replace www.test.com with your domain
    if ( (url.indexOf('www.test.com') != -1) && navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i) ) {
        var newUrl = url.replace('http://www', 'http://m');
        location.href = newUrl;
    }
})();

以上就是移动端及PC端网站访问的问题。

Ajax中Get与Post请求的区别分析

谈Ajax中的GetPost的请求区别:

1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来’
2.使用Get请求发送数据量小,Post请求发送数据量大

Get方式:

get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送,也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的资源路径后面。另外最重要的一点是,它会被客户端的浏览器缓存起来,那么,别人就可以从浏览器的历史记录中,读取到此客户的数据,比如帐号和密码等。因此,在某些情况下,get方法会带来严重的安全性问题。

Post方式:

当使用POST方式时,浏览器把各表单字段元素及其数据作为HTTP消息的实体内容发送给Web服务器,而不是作为URL地址的参数进行传递,使用POST方式传递的数据量要比使用GET方式传送的数据量大的多。 总之,GET方式传送数据量小,处理效率高,安全性低,会被缓存,而POST反之。

何时使用Get请求,何时使用Post请求

1.Get请求的目的是给予服务器一些参数,以便从服务器获取列表。 例如:list.aspx?page=1,表示获取第一页的数据。

2.Post请求的目的是向服务器发送一些参数,例如form中的内容。

具体区别详细参考: Ajax中Get请求与Post请求的区别

浅谈Nodejs的优缺点

Nodejs基于Javascript语言,不用再单独新学一门陌生的语言,从而减低了学习的门槛。同时,Javascript语言在Web前端开发中至关重要,特别HTML5的应用必须要使用,所以前后台统一语言,不仅可以实现程序员的全栈开发,还可以统一公共类库,代码标准化。单凭这一点,Nodejs就已经赢得市场的青睐了。

优点:Nodejs的优势:

没有重新开发运行时环境,而是选择了目前最快的浏览器内核V8做为执行引擎,保证了Nodejs的性能和稳定性。
开发非常高效,而且代码简单,得意于Nodejs的单线程机制。而Nodejs的另一个特点异步编程,让Nodejs处理IO密集型应用有了明显的优势。个人感觉,用Nodejs比Java做Web开发要高效10倍,
比PHP的代码还要简单。
社区在壮大,不仅包的数量在快速增加,而且包的质量也要明显好于其他语言的。很多明星级的包,都是简单而灵巧的,为了开发者的使用习惯而设计。我最常用到的工具包,如socket.io,
moment.js, underscore.js, async.js, express.js, bower.js,grunt.js, forever.js…,确实在改变我以前的编程习惯。
当然,除了我使用Nodejs的理由,很多公司也都有自己的使用理由。

例如:ebay选择Nodejs的理由,可归纳为以下4点:
动态语言:开发效率非常高,并有能力构建复杂系统,如ql.io。
性能和I/O负载:Nodejs非常好的解决了IO密集的问题,通过异步IO来实现。
连接的内存开销:每个Node.js进程可以支持超过12万活跃的连接,每个连接消耗大约2K的内存。
操作性:实现了Nodejs对于内存堆栈的监控系统。

缺点:Nodejs不适合的领域

每一种语言或平台都有不擅长领域,对于Nodejs来说最不擅长的领域在于CPU和内存的编程操作。
计算密集型应用,让Javascript和C去拼计算性能,估计是不可能赢的。
内存控制,让Javascript和Java比较复杂数据类型定义,也是很困难的。因为Javascript的面向对象是基于JSON的,而Java是直接使用内存结构。所以,通过JSON序列化和反序列的过程控制内存,Javascript就已经输了。
大内存的应用,由于V8引擎有内存设计的限制,32位环境中最大堆是1G,64位环境中最大堆也不到2G,如果要一次读入10G数据,对于Nodejs来说也无法实现。
静态服务器,虽然Nodejs的优势在IO密集集应用,但是和Nginx的处理静态资源还是有很大的差距。
不需要异步的应用:比如系统管理,自行化脚本等,还是Python更顺手,Nodejs的异步调用可能会给编程带来一些麻烦。

项目管理:npm, grunt, bower, yeoman
Web开发:express,ejs,hexo,socket.io,estify
工具包:underscore,moment,connet,later,passport(oAuth)
domain,require,reap,commander,retry
数据库:mysql,mongoose,redis
异步:async,wind
部署:forever,pm2
测试:jasmine,karma
跨平台:rio,tty
内核:cluster,http,request
算法:ape-algorithm(快速排序),ape-algorithm(桶排序)

Git笔记

学习使用git工具,通过git来提交代码和记录issues等,方便整个项目的开发和工作记录。在这里记录下git简单使用笔记啦,小伙伴好的东西分享啦!嘻嘻嘻!

一、注册账号下载

注册github或者gitlab账号后,下载git工具,选项均可默认安装,安装完成后开始配置。

二、Git配置ssh连接

本地生成ssh密钥
打开Git Bash终端,输入ssh-keygen -t rsa -C “[github服务器账号]”回车,文件名默认可不填直接回车,两次输入密钥回车,最后提示生成一对密钥
添加公密钥
将文件C:\Users\Administrator.ssh\id_rsa.pub “[公钥文件路径]”的内容复制到个人账户设置网页上“Add SSH Key”剪贴板,粘贴到“KEY”文本框中,Title内容自动生成即为成功。
连接测试/登陆
终端输入 ssh -T git@”你的github服务器地址”第一次连接时,会询问是否信任主机,确认后输入yes。如果看到Welcome to github, [yourName]配置成功!

三、Git创建本地库【本地文件储存的仓库

git init #初始化新建一个库,与库相同的目录下所有文件可以同步到远程库中。

四、Git添加远程库【可与本地库同步】

git remote add origin [github服务器中所建的工程链接如:[https://github.com/jack0624/jack0624.github.io.git]

五、本地更新代码推送远程库

cd [进入库所在的文件夹路径] Alt+/可快速定位所需文件夹
git status 查看那些修改或添加的
git add [文件名]or add. 单个文件提交or全部提交
git commit -m “注释info” 提交并备注的文件信息
git push 上传文件推送到远程库
git pull 拉项目前更新最新版

六、本地同步删除文件夹、撤销提交

  • 6-1删除文件夹
    git rm 删除本地文件库
    git commit -m "delete [文件名]" 提交并备注删除信息 
    git push  推送到远程库
    
  • 6-2撤销提交
    git log 查看日志,找到需要回退的那次commit的值
    git reset --hard commit_id #撤销该次提交 
    

七、从远程库的代码同步到本地

git pull origin master 默认拉取你添加的到origin的第一个地址
创建分支管理【 一个仓库下建立多个分支进行代码管理】
git branch test 新建test分支
git checkout test 切换到test分支
git merge test 将test分支合并到当前分支

Hexo教程

欢迎来到Hexo这是一篇关于hexo的文章。你可以查看更多帮助文档。如果你有任何问题可以,你可以使用hexo找到解决方案

一、安装

npm install hexo -g #安装  
npm update hexo -g #升级  
hexo init blog #初始化,生成文件夹为blog_cd blog_
npm install #安装依赖库
hexo server #运行测试

二、简写

hexo n "我的博客" == hexo new"我的博客" #新建文章
hexo p == hexo publish
hexo g == hexo generate #生成
hexo s == hexo server #启动服务预览
hexo d == hexo deploy #部署

三、服务器

hexo server #Hexo会监视文件变动并自动更新,您无须重启服务器。
hexo server -s #静态模式
hexo server -p 5000 #更改端口
hexo server -i 192.168.1.1 #自定义IP
hexo clean #清除缓存 网页正常情况下可以忽略此条命令
hexo g #生成静态网页
hexo d #开始部署