分享一则JavaScript滚动条插件源码

2020-05-23 06:21:34易采站长站整理

        ///     1: 生成模拟滚动条对象,【请在本对象工作之后再为您指定的对象绑定事件,否则您之前绑定的事件将不会进行工作】
        ///         1.1 – linkFlyScroll(dom) – 在指定的dom上生成滚动条对象
        ///         1.2 – linkFlyScroll(dom,options) – 生成滚动条对象,同时提供一系列的参数允许您自定义配置该对象的工作模型
        /// </summary>
        /// <param name=”dom” type=”String Or element”>
        ///     传入js的dom对象,或者为string类型的该对象ID
        /// </param>
        /// <param name=”options” type=”Json”>
        ///     自定义配置该对象的工作模型,有如下选项:
        ///       [可选]auto(Boolean):当内容并未达到容器的高度的时候,是否自动隐藏滚动条,默认为true(是)
        ///       [可选]height(Int Or String):默认单位为px,可以为int和String.值为auto则默认采用css的高度
        ///       [可选]width(Int Or String):默认单位为px,可以为int和String.值为auto则默认采用css的宽度
        /// </param>
        /// <returns type=”linkFlyScroll” />
        if (typeof (dom) === ‘string’) {
            dom = document.getElementById(dom);
        }
        //没有指定dom和没有查找到有效的dom
        //linkFlyScroll(“”)、 linkFlyScroll(null)、linkFlyScroll(undefined)
        if (!dom || !dom.nodeType)
            return this;
        //创建容器对象
        var scrollObj = document.createElement(‘div’);
        //深度克隆内容对象,并未包含事件,所以需要等到linkFlyScroll对象工作完毕后才可以为该dom对象绑定事件