首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scrollspy Uikit 3框架和计数

Scrollspy Uikit 3框架和计数
EN

Stack Overflow用户
提问于 2021-04-13 21:46:56
回答 1查看 107关注 0票数 0

我是一个前端和javascript的初学者,对我来说很难:(我想用组件scrollspy UIKit3来计数,没有jquery https://getuikit.com/docs/scrollspy我这样做了,但它不工作

代码语言:javascript
复制
<span id="number"></span>
    <script>
        UIkit.scrollspy('#number', 'inview', function () {
            const countUp = new CountUp('number', 0, 1000 );
            countUp.start();
        });
    </script>
EN

回答 1

Stack Overflow用户

发布于 2021-06-03 06:43:41

我为此创建了一个脚本。

代码语言:javascript
复制
var util = UIkit.util;
var el = util.$('#heading');
var textIndex = 0;
UIkit.scrollspy(el, {repeat: true, delay: 100});
  
util.on(el,'inview', function (){
 function counter( start, end, duration) {
  let current = start,
   range = end - start,
   increment = end > start ? 1 : -1,
   step = Math.abs(Math.floor(duration / range)),
   timer = setInterval(() => {
    current += increment;
    el.textContent = current;
    if (current == end) {
     clearInterval(timer);
    }
   }, step);
 }
  counter(0, 100, 3000);
});

util.on(el, 'outview', function(){
  el.textContent = 0;
});
代码语言:javascript
复制
<!-- UIkit CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.6.22/dist/css/uikit.min.css" />

<!-- UIkit JS -->
<script src="https://cdn.jsdelivr.net/npm/uikit@3.6.22/dist/js/uikit.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/uikit@3.6.22/dist/js/uikit-icons.min.js"></script>

<section class="uk-section uk-section-primary" uk-height-viewport="offset-top: true">
  <div class="uk-container">
    <div class="uk-text-center">
    <h1 >SECTION 1</h1>
      <a href="https://codepen.io/bilashism/pen/mZpZLx" target="_blank">Source Code for Number Increment</a>
    </div>
    <div class="uk-text-center uk-margin-medium-top">
      <a class="uk-link-reset" href="#section" uk-scroll>Scroll</a>
    </div>
  </div>
</section>
<section class="uk-section uk-section-secondary" id="section">
  <div class="uk-container">
    <h1 class="uk-text-center" id="heading">0</h1>
  </div>
</section>

你需要监听inviewoutview事件。下面是方法:

代码语言:javascript
复制
UIkit.util.on(element, 'event', function(){
   //your code will be here here
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67076143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档