当前位置: 首页 > 知识库问答 >
问题:

Splidejs自动播放无法在svelte上的第一视图上运行

容柏
2023-03-14

我尝试在我的svelte应用程序上使用splidejs创建图像滑块,该滑块正常工作,但当我尝试应用autoplay配置时,该滑块一开始不工作,或者当我打开包含splidejs实例的页面时,但当转到另一个页面,然后返回到该页面(包含splidejs实例的页面)时,该滑块与autoplay很好地工作。

这里是我的splide组件代码

<script>
    import Splide from '@splidejs/splide';
    import {onMount, afterUpdate} from "svelte";
    import {generateId} from "../functions.js";

    export let id = "sliders-" + generateId(5);
    export let perView = 1;
    export let perTouch = 1;
    export let autoplay = false;
    export let type = 'slide';
    export let interval = 5000;
    let rendered = false;
    let refresh = false;
    let sp;

    onMount(function(){
        sp = new Splide( '#' + id + '.splide', {
                type: type,
                rewind: true,
                autoplay: autoplay,
                interval: autoplay ? interval : 0,
                perPage: perView,
                perMove: perTouch,
                focus: "center",
                drag: true,
                cover: true,
                height: '250px',
                trimSpace: false,
                arrows: false,
                pagination: true
            }).mount();
        
    });
</script>

<div id="{id}" class="splide">
    <div class="splide__track">
        <div class="splide__list">
            <slot></slot>
        </div>
    </div>
</div>

我尝试了另一个解决方案,比如使用npm的svelte-slide包,使用另一个包,比如glidejs,但仍然没有成功。

共有1个答案

空鸿云
2023-03-14

集成这种组件的最佳方法是使用“actions”:https://svelte.dev/docs#use_action

<script>
   import Splide from '@splidejs/splide';
 
   // options & co

   function sp(element) {
     new Splide(element, { /* options */}).mount()
   }
</script>

<div use:sp/>
 类似资料:
  • 问题内容: 对于我的问题,我有一个链接。我想通过在fancybox叠加窗口中单击链接来播放视频。这不是问题。问题是参数,例如“自动播放”或“自动隐藏”。 以下链接无效: 覆盖窗口已打开,但视频未自动播放。 编辑:我想在移动设备上使用HTML5播放器。 在桌面浏览器上,它可以使用参数,但不能在移动设备上使用。 问题答案: 事实证明,无法在iOS设备(iPhone,iPad,iPod touch)和A

  • 问题内容: 我通过asp.net开发了一个移动页来播放mp4视频。 我知道iOS已禁用自动播放功能以最大程度地减少用户带宽,所以我如何在Android上自动播放HTML5 mp4视频? 我已经在HTML5代码中放置了自动播放功能,但是它不起作用。 以下是我的代码: 此外,我已经解决了用户单击图像叠加层可以播放视频的问题。感谢Karthi 这是代码: 谢谢 问题答案: 您可以将’muted’和’au

  • 问题内容: 该标签属性的作品在Safari罚款。 在iPad上进行测试时,必须手动激活视频。 我认为这是一个加载问题,所以我循环检查了媒体的状态: 该状态仍在iPad上。在我的桌面野生动物园中,它会通过,最后。在iPad上,只有在我手动点击“播放”箭头时才能到达。 此外,通过点击呼叫也可以。 苹果在自动播放方面是否有任何限制?(顺便说一下,我正在运行iOS 5+)。 问题答案: iOS 10更新

  • 每当我加载html文件时,它都会给我一个错误 每当我按下播放按钮时,就会出现以下错误 我能够加载任何远程视频并运行,但问题是当我从资产文件夹代码加载本地视频以加载文件并设置web视图时 干杯,Saurav

  • 我有一个简单的应用程序,它从firebase加载视频列表,通过单击任何视频,我将通过<code>AVPlayer 但我无法播放在Firebase存储中上传的任何视频。 玩家代码: 另外,我尝试了另一种替代解决方案,方法是在本地下载此视频并从本地播放,但该解决方案也不起作用。 让我知道我是否在视频播放器中犯了任何错误。

  • 我已经在ubuntu上安装了chromedriver。现在我使用以下命令执行chromedriver: driver = webdriver。chrome("/usr/lib/chromium-browser/chrome driver ") 然后我尝试运行带有hls视频的链接。但是我收到一个错误,说“请安装Flash播放器”,视频从未运行。有人能帮我弄清楚吗? 注意:相同的视频在同一系统上的默认