为了账号安全,请及时绑定邮箱和手机立即绑定
  • 不带截图的笔记
    查看全部
    0 采集 收起 来源:课程介绍

    2017-08-22

  • 关于constructor指向问题: 无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,默认情况下prototype属性会默认获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针,说的有些绕了,上代码: var superClass = function(){ this.num = 2; } superClass.prototype.show = function(){ console.log(this.name); } var F1 = function(){}; console.log(F1.prototype.constructor);//function (){} F1.prototype = new superClass(); console.log(F1.prototype.constructor);//function (){this.num = 2;}
    查看全部
  • F.prototype = superClass.prototype 和 F.prototype = new superClass();的区别: 前者F仅仅继承superClass的方法,而构造函数里的属性不会继承,后者则是把属性和prototype的方法也一并继承了, 代码验证: var superClass = function(){ this.num = 2; } superClass.prototype.show = function(){ console.log(this.name); } var F1 = function(){}; var F2 = function(){}; F1.prototype = new superClass(); F2.prototype = superClass.prototype; var f = new F1(); var f2 = new F2(); f.show();//2 f2.show();//undefined
    查看全部
  • 设计模式的阶段
    查看全部
  • 学习设计模式的不同阶段
    查看全部
  • 将方法写在构造函数的原型上用prototype 再添加一个调用它的方法init,同样用prototype给添加上去 Coffee.prototype.init = function(){ this.boilWater(); this.addWater(); ... }; 最后调用它: var coffee = new Coffee(); coffee.init();
    查看全部
  • 整理下js的思路: 写好主功能函数,就是点亮这个函数-->为元素一一绑定事件 为元素绑定事件有个小细节:mouseout事件绑定在ul这个父容器上,而不是li单个项目上。 完善: 全局变量重名或者冲突,解决方法:自我匿名函数,就是用一个闭包 不用为每个li都绑定事件,只需要为他们父容器绑定即可,利用事件的冒泡处理 $rating.on('mouseover','.rating-item',function(){}
    查看全部
    0 采集 收起 来源:分析现存问题

    2018-03-22

  • 整理下js的思路: 写好主功能函数,就是点亮这个函数-->为元素一一绑定事件 为元素绑定事件有个小细节:mouseout事件绑定在ul这个父容器上,而不是li单个项目上。 完善: 全局变量重名或者冲突,解决方法:自我匿名函数,就是用一个闭包 不用为每个li都绑定事件,只需要为他们父容器绑定即可,利用事件的冒泡处理 $rating.on('mouseover','.rating-item',function(){},子元素事件委托给父元素处理 为了实现功能复用,我们可以把它写成一个模块,可以用函数来实现,利用函数带参实现不同需求; 命名为init函数,怎么使用呢?就可以用return返回来使用,而return返回对象的话就可以这样使用:rating.init("#el",num) 这里有个小细节:功能函数例如lightOn因为只需要申明一次就可以把它放到init函数外面。
    查看全部
  • 半颗星星的计算方法
    查看全部
  • var rating = (function() { var lightOn = function(item, num) { item.each(function(index) { if(index < num) { $(this).css("background-position", "0 -36px"); } else { $(this).css("background-position", "0 0"); } }) } var init = function(el, num) { var rating = $(el); var item = rating.find(".rating-item"); //初始化 lightOn(item, num); //事件委托 子元素事件(.rating-item)委托给父元素(rating)处理 rating.on("mouseover", ".rating-item", function() { lightOn(item, $(this).index() + 1); }).on("click", ".rating-item", function() { num = $(this).index() + 1; }).on("mouseout", function() { //事件绑定 lightOn(item, num); }) } //jQuery插件 $.fn.extend({ rating: function(num) { return this.each(function() { init(this, num); }) } }) return { init: init } })() //方法 //rating.init("#rating",2); //插件 $("#rating").rating(2);
    查看全部
  • $(this).css("background-position", "0 -36px"); $(this).animate({height:"300px"});
    查看全部
  • CSS样式放在头部,让浏览器先渲染样式 js行为放在body最后,防止找不到节点,同时不会阻塞页面 CSS和js都引入外部文件的形式,这样可以在客户端缓存。
    查看全部
  • 星级评分
    查看全部
  • 前端2
    查看全部
    0 采集 收起 来源:课程介绍

    2017-07-13

  • 半颗星星的计算方法
    查看全部

举报

0/150
提交
取消
课程须知
1、对html,css基础知识已经掌握。 2、对JavaScript和jQuery能够熟练掌握。
老师告诉你能学到什么?
1、开发项目的实现思路 2、评分效果的实现 3、js中的开发技巧

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!