我正在尝试使用Elm创建一个简单的网页,其中包括在一段时间内显示图像,例如秒或毫秒。
有没有办法暂停"在榆树?然后我可以显示,暂停,然后删除图像以达到效果。
我注意到了clock example,但每当机器的时钟触发新的秒时,它似乎都会更新,而我正在寻找可以暂停以更新设定时间的东西(例如第二个)在开始时间之后。
答案 0 :(得分:2)
您可以创建一个新的Msg
值来触发(图像的)url更改。
并通过Timer.every
创建订阅。
您可以在模型中添加标记,以指示是否继续更新图像,如果这是您想要的。
示例:
subscriptions : Model -> Sub Msg
subscriptions model =
if model.keepUpdating then
Time.every (3 * second) (\x -> UpdateImage)
else
Sub.none
update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
case msg of
UpdateImage ->
( { model | image_url = "http://to_new_image/..." }, Cmd.none )
答案 1 :(得分:2)
elm-delay
包提供了一个很好的抽象定时器。要创建一秒触发的Cmd RemoveImage
,您只需执行after 1 second RemoveImage
。