If I understand correctly you want to display the contents of a series of Passages on the current page, a little like a slideshow. The following is one way to implement such a thing.
1. The initial Passage in which the series of Passages will be shown.
It initialises a $delay variable to store the number of seconds using CSS time-units (5s and 10s in this example)
(set: $delay to 5s)
|output>[(display: "Passage 1")]
(link-repeat: "Set Delay to 5")[(set: $delay to 5s)]
(link-repeat: "Set Delay to 10")[(set: $delay to 10s)]
2. Passage 1 is the first in the series, it uses a single use (live:) macro to delay the showing of the 2nd Passage in the series.
Contents of Passage 1
(live: $delay)[{
(stop:)
(replace: ?output)[(display: "Passage 2")]
}]
3. Each of the other Passages in the series have the same structure as the 1st, that being:
a. Some content to be displayed.
b. A single use (live:) macro to display the next Passage in the series after a delay.
If you press one of the links then that will effect the delay for the Passage being displayed after the current one, as you can't effect the current delay this way.
note:
There is a technique you can use to simulate a variable length delay within a single (live:) macro. You can have the (live:) macro set to a shorter delay that can be factored into each of your possible longer delay options, and then use a counter variable to limit the execution of the contents of the (live:) macro's associated hook.
The following demonstrates this technique by allowing you to control how often a message is updated.
(set: $counter to 0)
(set: $delay to 3)
|output>[counter: $counter]
(live: 1s)[{
(set: $counter to it + 1)
(if: $counter % $delay is 0)[
(replace: ?output)[counter: $counter]
]
}]
(link-repeat: "A delay of 3")[(set: $delay to 3)]
(link-repeat: "A delay of 6")[(set: $delay to 6)]
(link-repeat: "A delay of 9")[(set: $delay to 9)]
... because the remainder operator % needs to do a division to determine it's outcome and because doing a division on a small number takes less time that that of a large number, I would suggest resetting the $counter variable back to zero before it gets too large although I wouldn't reset every-time the remainder is zero because an assignment also takes time to do.