2009-06-17 61 views
1

我想使用jQuery的slideUp效果,當用戶導航離開頁面只是爲了使頁面看起來很酷,因爲它關閉。Jquery Effect Onunload

我假設我應該使用onunload事件,但是如何延遲關閉頁面足夠長的時間才能運行完成。

其中一個想到的選項是有效地劫持頁面關閉功能,將其存儲在某個變量中,然後在運行效果後執行,但我不知道該如何做。

任何建議或替代的想法非常歡迎

回答

2

據我所知,停止用戶離開頁面的唯一方法是onbeforeunload事件,其中不是可取消。相反,您從該方法返回一個字符串,瀏覽器用「是/否」對話框提示用戶,生活繼續。 276660有更多關於此的信息。

我不認爲你會有這個運氣很多。

4

更你要找的是什麼onbeforeunload事件。雖然
只是一個警告...它應該是真的快速...或者你的訪問者可能會恨它,不管它有多酷看起來

,以防止頁面從之前的客場導航動畫完成了,這是一個更大的問題......任何動畫都將依賴setTimeout/setInterval,並且頁面不會在離開前等待完成。

+0

我點正好! – balexandre 2009-06-17 12:33:17

+0

好東西 - 有一個給予好評:) – alex 2009-06-17 12:43:14

+0

即使他想用onbeforeunload事件不會工作,因爲動畫需要延遲行動 - onBeforeUnload處理器有望重返東西直線距離。 – James 2009-06-17 13:30:23

1

爲什麼不中,反而讓一個「酷」的效果時,簡單的用戶要出門從您的網站(即使用戶關閉瀏覽器/標籤的卸載事件將被解僱)和惱人的與...簡單的用戶使他/她再次返回...

... 「酷」的效果當用戶到達你的網站首次?作爲正常的介紹效果?

我做了一個簡單的想法,你可以在這裏看到:http://www.balexandre.com/jmfc

+0

我想要在頁面在我的網站中導航時執行此操作,因此用戶不會因爲頁面剛剛加載新內容而感到惱火。在加載新頁面時,我將使用slideDown效果,它會看起來像內容部分中的信息,它只是被修改了。 – jcuenod 2009-06-17 12:37:35

1

我同意100%,Jonathan Fingland's answer,並添加此。

在IE中(我不確定哪些版本支持這個,我知道IE6有這樣做),你可以在離開頁面時使用一些propriety meta tags to achieve fades等等。但是,這在瀏覽器(僅限IE)中是有限的,所以你被困在跨瀏覽器的使用中。

3

當用戶要求違反與用戶的合同時,關閉窗口做任何事情。瀏覽器窗口不是你的,它是用戶,無論效果如何酷,它都將不可避免地讓大部分用戶惱火。

onbeforeunload事件的功能非常有限。它必須返回一個字符串,然後用於提示用戶有關離開頁面的確認。它不適用於很酷的動畫。

0

我發現延遲關閉窗口的唯一方法是使用警報。如果這對你的情況是一個可以接受的折衷方案,它會真的延遲窗口在內存中的銷燬,並允許你的頁面定時器執行(當然,如果用戶沒有比你的動畫完成更早關閉彈出窗口)。

我最近使用過這種方法,我就可以通過調用一個FABridge彎曲法(柔性方法調用之前完成,否則將被銷燬)。我想聽聽你對此的評論。