弹窗demo优化更新(弹窗+拖动+ajax)

1、拖动时标题不可选的CSS:

cursor: move;(鼠标指针移动上去的时候,移动的手指标志)  
user-select: none;(不可选)  

需要兼容各个浏览器前缀的快捷键:-name +Tab,比如-user-select(+Tab)

2、提交功能:用ajax
(1)尽量减少AJAX请求次数,不当使用AJAX会影响网站性能。用JS判定所填数据正确后再用AJAX,尽量不要在AJAX里面大量判定。
(2)ajax格式:

$.ajax({  
    url: oPageUrl.getInfoUrl // 模拟  
    , type: ‘get’ // 默认为get  
    , dataType: ‘json’ // .返回json数据  
    }).done(function(msg) {  
    // …  
});  

(3)$.ajax()方法是最低层的Ajax实现

(4)模拟中,code:0表示ajax请求成功

3、tangkuang.js的jQuery优化
(1)offset().left、offset().right是相对于文档的偏离

(2)bug优化:对于用上offset().left、offset().right出现差值的问题。
原因分析:CSS和jQuery没有配合上,CSS里面设了margin:30px 0产生干扰,相当于距离上下30px、左右0px,应该在mousemove的时候,margin应该置0。
而不能提早到mousedown的时候,因为这样鼠标点了还没有移动的时候就会产生偏移。

(3)CSS()中可以没有单位

(4)原生JS的offsetLeft和offsetTop在每个浏览器中的解释有出入

4、indexOf()
返回指定的子串在另一个字符串中的位置,不存在就是-1,从0开始。

5、实战经验学习:要先和PHP商定好参数

6、+function(){}():使解析器正确的调用定义函数
(1)+、-最快
(2)new最慢
拓展链接:http://swordair.com/function-and-exclamation-mark/

7、$.Deferred():延迟到未来某个点再执行
参考链接:http://blog.zhusee.in/post/48857667691/jquery-deferred-object

8、定义的jQuery参数尽量加$,标志这是一个对象

麻凯倩

微信:makaiqian