diff --git a/packages/svelte/src/internal/client/dom/elements/bindings/media.js b/packages/svelte/src/internal/client/dom/elements/bindings/media.js
index 87da950375..eb538169ba 100644
--- a/packages/svelte/src/internal/client/dom/elements/bindings/media.js
+++ b/packages/svelte/src/internal/client/dom/elements/bindings/media.js
@@ -1,4 +1,7 @@
+/** @import { Effect } from '#client' */
+import { INERT } from '#client/constants';
import { render_effect, effect, teardown } from '../../../reactivity/effects.js';
+import { active_effect } from '../../../runtime.js';
import { listen } from './shared.js';
/** @param {TimeRanges} ranges */
@@ -19,6 +22,8 @@ function time_ranges_to_array(ranges) {
* @returns {void}
*/
export function bind_current_time(media, get, set = get) {
+ var effect = /** @type {Effect} */ (active_effect);
+
/** @type {number} */
var raf_id;
/** @type {number} */
@@ -34,6 +39,8 @@ export function bind_current_time(media, get, set = get) {
raf_id = requestAnimationFrame(callback);
}
+ if ((effect.f & INERT) !== 0) return;
+
var next_value = media.currentTime;
if (value !== next_value) {
set((value = next_value));
diff --git a/packages/svelte/tests/runtime-runes/samples/transition-media-binding-outro/_config.js b/packages/svelte/tests/runtime-runes/samples/transition-media-binding-outro/_config.js
new file mode 100644
index 0000000000..226e28630b
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/transition-media-binding-outro/_config.js
@@ -0,0 +1,13 @@
+import { flushSync } from '../../../../src/index-client.js';
+import { test } from '../../test';
+
+export default test({
+ test({ target }) {
+ const button = /** @type {HTMLButtonElement} */ (target.querySelector('button'));
+ const audio = /** @type {HTMLAudioElement} */ (target.querySelector('audio'));
+
+ flushSync(() => button.click());
+ audio.currentTime = 1;
+ audio.dispatchEvent(new Event('timeupdate'));
+ }
+});
diff --git a/packages/svelte/tests/runtime-runes/samples/transition-media-binding-outro/main.svelte b/packages/svelte/tests/runtime-runes/samples/transition-media-binding-outro/main.svelte
new file mode 100644
index 0000000000..199c06c160
--- /dev/null
+++ b/packages/svelte/tests/runtime-runes/samples/transition-media-binding-outro/main.svelte
@@ -0,0 +1,11 @@
+
+
+
+
+{#if item}
+
+{/if}