coderius/yii2-smooth-scroll 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

coderius/yii2-smooth-scroll

Composer 安装命令:

composer require coderius/yii2-smooth-scroll

包简介

Yii2 Smooth Scroll widget

README 文档

README

The Smooth Scroll widget is a customized Smooth Scroll script based on Smooth Scroll and represents a lightweight script to animate scrolling to anchor links in web page.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require coderius/yii2-smooth-scroll

or

composer require coderius/yii2-smooth-scroll

or add

"coderius/yii2-smooth-scroll" : "*"

to the require section of your application's composer.json file. And run composer update

Basic usage.

  • In view include widget:

By default selector 'a[href*="#"]' passed in for the anchor links that should be animated.

<?php echo coderius\smoothScroll\SmoothScroll::widget([]); ?>

And set html link and anchor to scroll:

<a href="#your-anchor-name">Text</a>
...
<div id="your-anchor-name"></div>

Advansed usage.

In section 'beginClientJs' and 'endClientJs' you can set any js code.

<?php 
    echo coderius\smoothScroll\SmoothScroll::widget([
        // 'selector' => false,
        'clientOptions' => [
            'speed' => '1500',
            'speedAsDuration' => true,
            'easing' => 'easeInQuint',
            'customEasing' => new \yii\web\JsExpression(
                'function (time) {
                    return time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time;
                }'
            ),
            'clip' => true,
            // History
            'updateURL' => true, // Update the URL on scroll
	        'popstate' => true, // Animate scrolling with the forward/backward browser buttons (requires updateURL to be true)
            // Custom Events
	        'emitEvents' => true // Emit custom events
        ],
        'clientMethods' => [
            // Animate scrolling to an anchor.
            'animateScroll' => [
                'anchor' => "document.querySelector('#anchor')",// numbel (y-position to scroll) or dom element
                // 'toggle' => 700,
                'options' => "{ speed: 1500, easing: 'easeOutCubic' }",
            ],
            'cancelScroll' => false,
            'destroy' => false,
        ],
        //$self in is widget object
        'beginClientJs' => function($self){
            $script = "var logScrollEvent = function (event) {

                // The event type
                console.log('type:', event.type);
            
                // The anchor element being scrolled to
                console.log('anchor:', event.detail.anchor);
            
                // The anchor link that triggered the scroll
                console.log('toggle:', event.detail.toggle);
            
            };";

            return $script;
        },
        'endClientJs' => function($self){
            $script = "console.log(" . $self->getScrollVarName() . ")";

            return $script;
        },
        
        /**
        * This script will be generated if you specify the elements of the array 
        * as in the example below.
        *
        * document.addEventListener('scrollStart', logScrollEvent, false);
        * document.addEventListener('scrollStop', logScrollEvent, false);
        * document.addEventListener('scrollCancel', logScrollEvent, false);
        **/
        'clientEvents' => [
            'scrollStart' => ['logScrollEvent', false],
            'scrollStop' => ['logScrollEvent', false],
            'scrollCancel' => ['logScrollEvent', false],
        ],
    ]); 
?>

Reference to js plugin and more settings find in github author repository that is used in this widget.

coderius/yii2-smooth-scroll 适用场景与选型建议

coderius/yii2-smooth-scroll 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 14 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 11 月 02 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「widget」 「yii2」 「Smooth Scroll」 「yii2-smooth-scroll」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 coderius/yii2-smooth-scroll 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 coderius/yii2-smooth-scroll 我们能提供哪些服务?
定制开发 / 二次开发

基于 coderius/yii2-smooth-scroll 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 14
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-11-02