Javascript-将timeago函数与Algolia自动完成功能一起使用

莱夫

我正在尝试从这些示例中使用timeAgo函数我将其放在文件中,并在我的视图中这样称呼它:

<script src="{{ asset('js/landing-page/jquery.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('js/landing-page/bootstrap.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('js/landing-page/material.min.js') }}"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.4.0/js/swiper.min.js"></script>
<script type="text/javascript" src="{{ asset('js/slider.js') }}"></script>
<script type="text/javascript" src="{{ asset('js/timeago.js') }}"></script>

<!-- Include AlgoliaSearch JS Client and autocomplete.js library -->
<script src="https://cdn.jsdelivr.net/algoliasearch/3/algoliasearch.min.js"></script>
<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.min.js"></script>
<script type="text/javascript" src="{{ asset('js/autocomplete.js') }}"></script>

<!-- Control Center for Material Kit: activating the ripples, parallax effects, scripts from the example pages etc -->
<script src="{{ asset('js/landing-page/material-kit.js') }}" type="text/javascript"></script>

Algolia自动完成模板的部分脚本如下所示:

{
      source: autocomplete.sources.hits(videos, { hitsPerPage: 5 }),
      displayKey: 'title',
      templates: {
        header: '<div class="aa-suggestions-category">Videos</div>',
        suggestion: function(suggestion) {
          return '<span>'
                + '<a href="/player/' + suggestion.id + '">'
                +   '<div class="media">'
                +     '<div class="media-left">'
                +       '<img class="media-object" src="https://s3.eu-central-1.amazonaws.com/myUrl/' + suggestion.video_id + '_1.jpg">'
                +     '</div>'
                +     '<div class="media-body">'
                +       '<p>' + suggestion._highlightResult.title.value + '<small><abbr class="timeago" title="' + suggestion.created_at + '">' + suggestion.created_at + '</abbr></small>' + '</p>'
                +       '<small> ' + '</small>'
                +     '</div>'
                +   '</div>'
                + '</a>'
                +'</span>';
        }

但是时间戳仍然可见,而不是时间之前。控制台中未显示任何错误。我究竟做错了什么?

Shukshin.ivan

在DOM准备好很长时间之后,自动完成功能会添加html代码,因此timeago.js当仍然没有任何自动完成代码时,将执行代码。

您必须在使用事件呈现新代码立即调用timeAgo函数,而不要等待60或10秒。autocomplete:updated

//attach custom event handler - autocomplete:updated triggers when dataset is rendered
autocomplete('#search-input', { hint: false }, [
    {
      source: ...,
      displayKey: ...,
      templates: {
        suggestion: function(suggestion) {
          ...
        }
      }
    }
  ]).on('autocomplete:updated', function(event, suggestion, dataset) {
    timeAgo('.timeago');
  });

此解决方案可能会导致许多timeAgojavascript超时实例在globaltimeAgoTimeout = setTimeout(timeAgo, 60000);clearTimeout(timeAgoTimeout)timeAgo之前修复它

您可以在小提琴中找到与动态元素一起使用的示例-http: //jsfiddle.net/mge45ugr/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将Javascript变量与样式组件一起使用

何时将const与JavaScript中的对象一起使用?

将javascript映射与具有两个参数的函数一起使用

将ClickHandler与原生Javascript对象一起使用?

Android Studio-XML编辑器自动完成功能无法与支持库一起使用

结合使用JavaScript对象和jQuery UI自动完成功能

对JavaScript if语句使用Sublime Text 3自动完成功能的不必要的分号

Javascript何时和完成功能使用

向ace-editor明智的自动完成功能添加:列出用户定义的函数和变量(javascript语言)

将datatables.net与javascript一起使用

如何使bash自动完成功能与cabal一起使用?

使用javascript自动完成功能显示城市名称

将JavaScript Math对象与变量一起使用

如何与Vaadin 10 TextField一起使用(浏览器)自动完成功能

将JavaScript与WTForms一起使用

可以将loadImage()与JavaScript Promise一起使用吗?

如何限制使用原始javascript自动完成功能的匹配?

查询:将Karate DSL与基于JavaScript的UI自动化框架一起使用

将构造函数与多个文件一起使用Javascript

如何将Material-UI自动完成功能与react-virtualized一起使用?

为什么将Javascript RegExp测试函数与标志一起使用时每次都会给出不同的结果?

Javascript自动完成功能列出MySQL结果

jQuery tagsinput和ui自动完成功能:它们可以与预加载的源一起使用吗?

使用自动完成功能时无法在javascript中设置变量

如何在php中远程使用javascript自动完成功能

Javascript'onbeforeunload()'无法与函数调用一起使用

如何将素面自动完成功能与具有预选值的复合材料一起使用?

Google将JavaScript自动完成功能的API放置在建议中

无法让 javascript 函数与下拉列表一起使用