gpt4 book ai didi

css - 演示者节目中的 GWT 调用方法

转载 作者:行者123 更新时间:2023-11-28 05:46:16 24 4
gpt4 key购买 nike

我的问题与我在这里的另一个问题有关:SVG using CSS3 animations in GWT

但它更简单。 GWT 中是否有一种方法可以在 Presenter 完全加载后调用方法?

例如,让一个窗口(演示者)中有一个 SVG 图片,另一个窗口(演示者)中有一个文本。那里有一个按钮,单击它会更改 SVG 图像呈现器的文本呈现器,反之亦然(调用 go() 方法)。我需要从 svg 中删除所有 CSS 并重新应用它,但必须在演示者更改并加载图像后完成。如果我在 go() 方法中执行它,它将不起作用。目前正在使用 schudleFixedDelay() 对其进行破解,但想要一些不那么骇人听闻的东西。

编辑 1:我的意思是当演示者内容完全显示在 DOM 中时,我想启动一些代码。它可能与加载 SVG 图像无关,只是显示它。如何知道演示者的所有内容何时显示并添加到 DOM?

编辑 2:好的,scheduleDeferred 函数正是我要找的。我知道这个功能并使用它,但我似乎遇到了更具体的问题。 scheduleDeferred 函数调用我的方法来很好地修复坐标。但是我之前用的时候,因为固定坐标的方法,没有用。看来,当我在 SVG 元素上调用 removeAttribute("class") 时,我不能紧接着 setAttribute("class", "classname") 。我必须在那里制作一个至少 100 毫秒的 scheduleFixedDelay,否则它不起作用。不确定延迟是否适用于任何地方(手机、平板电脑......),但我不知道为什么没有延迟它就不起作用。这可能是我的解决方案。

最佳答案

除非您使用代码拆分,否则 GWT 代码会一次性加载 - 在您的应用程序执行其第一行代码之前。我假设您的意思是“所有演示代码都已执行”或“SVG 图像已完成加载”。

根据加载图像的方式,您可以使用 Image实现加载处理程序的类(即您可以使用 onLoad())。

或者,您应该使用 Scheduler 类中的 scheduleDeferred 方法代替固定延迟,如下所述:GWT: Timer and Scheduler Classes

关于css - 演示者节目中的 GWT 调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37585805/

24 4 0
文章推荐: html - 下拉菜单 HTML/CSS
文章推荐: javascript - React 中