嘿人。
对于ix1,有一个选项可以重新初始化webflow,这是构建单页网站和使webflow的交互工作绝对需要的。的功能是Webflow.ready ();
而且Webflow.destroy ();
.
有人知道ix2也适用吗?因为上面的函数没有。
@danro@samliew@CallMeChris
那就太棒了!
谢谢你!
2喜欢
对我来说,我正在建立一个单页网站使用barba.js但也有其他可能的情况。在这里看到的:
嗨,有人找到解决办法了吗?我也遇到过类似的问题,这是我目前所做的:
我已经设置了按钮,加载页面“page1”和“page2”使用巴巴.js。页面正在加载,页面之间的转换也在工作,但加载到barba-容器中的内容没有响应。html嵌入面板中的点击事件和gsap动画不起作用。
希望这个解释有意义,我还在下面添加了一个分享链接。谢谢你!
我已经设置了一个测试文件(https://preview.www.raktarban.com/preview/barba-3fedff?preview=ea1f49029092a0f950bc43ad0f0c4650).
这里是发布的链接-http://barba-3fedff.webflow.io/
我要撞它,因为这是件大事。
我集成了firebase来加载一些CMS没有设计的更大的数据集……我延迟加载是为了节省读取(显然),我需要一种方法来重新初始化交互。
我已经恢复到v1交互和destroy() / ready()在每次动态加载之后…这有点糟糕,也造成了一些关于状态的挫折。(因为点击交互不是切换,而是“第一次点击/第二次点击”
我们需要一种方法来重新初始化v2交互。更好的是,有一种方法可以简单地搜索DOM(或特定的DOM元素)并根据需要添加交互监听器。
嘿,水疗也需要这个功能。我查看了ix2接口,尝试调用Webflow.ready()等。
有消息吗?
danro罗杰斯(丹)
# 10
大家好,很抱歉在这个话题上回复晚了。正如您所发现的,IX2的工作方式与支持Webflow.ready /破坏
周期。
而Webflow.destroy ()
实际上停止了IX2引擎和所有相关的事件+状态准备好()
函数不会重新初始化引擎。
Webflow.require (ix2) .init ()
在大多数情况下都能成功。只要IX2已经用序列化的JSON数据初始化了一次,就会重复调用init ()
将简单地重新启动引擎并查询DOM中可能受到影响的任何新节点。
4喜欢
danro罗杰斯(丹)
# 11
@Reed_Debaets回复:部分状态重新加载,不幸的是我们还不支持这个。
但是,如果你熟悉回来的,您可能能够弄清楚如何重新填充IX2状态,因为我们公开了IX2 store +操作。这里有一个例子:
const store = Webflow.require('ix2').store;让oldState;store.subscribe(() => {const ixSession = store.getState().ixSession;const eventState = ixSession.eventState;if (oldState !== eventState) {console.log(eventState);oldState = eventState;}});
使用上面的选项应该可以输出任何IX2事件状态更改,如悬停或第二次单击。一旦确定了想要修改的事件状态,就可以简单地将一个操作分派到存储区。下面是第二次点击状态恢复的样子:
const actions = Webflow.require('ix2').actions;store.dispatch(行动。eventStateChanged (e: 0, {clickCount: 1}));
希望会有帮助!
4喜欢
yuhuuuu !最后。非常感谢@danro.周末一定要试试。<3
不幸的是,这似乎对我不起作用。(当设置断点时,它会偶尔起作用。)
我认为问题是我有动画触发PAGE_START,我不认为这是通过ix2.init()重新发出的。
有没有一种方法我可以只是发射PAGE_START到Webflow/ix2以某种方式?
这句话似乎对我有帮助:
窗口。Webflow & & window.Webflow。要求(ix2) .init ();文档。dispatchEvent(new CustomEvent('IX2_PREVIEW_LOAD'));
1像
danro罗杰斯(丹)
# 15
嘿@andy_burke看来你的思路是对的。您还可以模拟本机事件,因为这就是PAGE_START /完成
依赖于:
文档。dispatchEvent(新事件(' readystatechange '));
2喜欢
iwan_r(伊万)
# 16
嗨@andy_burke,我也在想同样的事情。你发布的代码应该在_this.done()之前添加到barbara .js转换函数中吗?还是别的地方?@buntestrahlen你们看过这个解了吗?
我最终得到了这个,它似乎像我预期的那样工作:
窗口。Webflow & & window.Webflow.destroy ();窗口。Webflow & & window.Webflow.ready ();窗口。Webflow & & window.Webflow。要求(ix2) .init ();文档。dispatchEvent(new Event('readystatechange'));
1像
这个改变了吗?我试图得到一个动画播放,这似乎不再工作。
我收回它,它正在工作,但不知怎么的不是显示上的元素:none div(它稍后通过代码显示)。有什么线索能说明原因吗?
hollnd(GergőRonaszeki)
# 20
嗨,安迪!
你能给我举个完整的例子吗?
我不能捕捉事件…" eventState "总是空的。