美文网首页
页面的交互特效封装成对象的方法,声明在构造函数的原型中

页面的交互特效封装成对象的方法,声明在构造函数的原型中

作者: 英俊又可爱XD | 来源:发表于2018-01-23 17:24 被阅读0次

装了一手好逼啊…

实现原理

  1. 将京东页面的各个特效集合成一个对象jdpage的不同方法,将事件函数声明在该对象的构造函数jdEffect的原型jdEffect.prototype中
  2. 实例化new一个京东页面特效的对象jdpage
  3. 窗口加载事件中,调用jdpage.方法

原型链

页面特效对象的原型链.png

目前只写了搜索框的渐变特效(18.1.23)。

代码
window.addEventListener("load", function(){
    var jdpage = new jdEffect();  //实例化
    jdpage.searchGradient();  //调用方法
});
var jdEffect = function(){};   //构造函数
jdEffect.prototype = {   //构造函数的原型
    searchGradient: function(){ }    //方法1,函数体见后
}

特效需求如下:当吸顶栏滚过轮播图时,背景图从透明变成半透明。


吸顶栏背景透明度渐变.gif
该方法代码 searchGradient
    searchGradient: function(){
        var topScrol=0;
        var opacity =0;
        //轮播图高度(个体设备上是固定值)
        var slideHeight = document.querySelector(".slide-items").offsetHeight;
        var header = document.querySelector("#header");  //搜索栏对象
        var headerHeight = header.offsetHeight;
        window.addEventListener("scroll", function(){  //窗口滚动事件
            //窗口卷出去的高度
            topScroll = document.body.scrollTop  || document.documentElement.scrollTop ;
            if(topScroll<=slideHeight-headerHeight){  //如果吸顶栏没有滚过轮播图
                opacity = topScroll/slideHeight;
                header.setAttribute("style","background: rgba(242, 48, 48,"+opacity+");");
            }else{  //如果吸顶栏滚过了轮播图
                header.setAttribute("style","background: rgba(242, 48, 48,0.8);");
            }
        })
    }

18.1.23

相关文章

  • 页面的交互特效封装成对象的方法,声明在构造函数的原型中

    装了一手好逼啊… 实现原理 将京东页面的各个特效集合成一个对象jdpage的不同方法,将事件函数声明在该对象的构造...

  • 原型

    2个概念 构造函数 原型对象 构造函数 ''' ''' 原型对象 在声明一个函数后,浏览器会在内存中创建一个对象,...

  • 09-面向对象的三大特性

    封装 自定义构造函数原型对象 由于原型对象也是一个对象, 所以我们可以自定义构造函数的原型对象 注意点:自定义原型...

  • 原型

    原型的作用是为函数对象声明通用的变量或者函数,构造函数的实例都会从原型上继承属性和方法。 JS在创建对象(不论是普...

  • javascirpt复习

    实例中访问构造函数原型的指针,指向的是构造函数原型,不是构造函数; 所以重写构造函数原型对象,【实例对象】访问还是...

  • 【JS第24期】设计模式-动态原型模式

    动态原型模式把所有信息都封装在了构造函数中,在构造函数中初始化原型。如: 只有在sayName方法不存在时,才会创...

  • javascript中面向对象编程-创建对象之原型模式

    理解名词:对象 原型对象 原型属性 函数 构造函数 实例 对象: Object,创建对象,对象属性方法原型对象:...

  • 函数中this指向问题以及this四大绑定原则

    一、 普通调用方式 => window 构造函数调用=> 实例对象,原型对象里面的方法也指向实例对象 对象方法...

  • 原型指向可以改变

    构造函数中的this就是实例对象原型对象中方法中的this就是实例对象 原型指向可以改变实例对象的原型proto指...

  • JavaScript - 面向对象编程二

    上次说到了构造函数的注意事项 ! 接下来是构造函数的原型对象 构造函数的原型对象 原型对象是什么? 在构造函数创建...

网友评论

      本文标题:页面的交互特效封装成对象的方法,声明在构造函数的原型中

      本文链接:https://www.haomeiwen.com/subject/jensaxtx.html