2013-08-16 62 views
0

我不確定有沒有人注意到Facebook可以檢測到用戶放大級別時,它會動態地添加.hidden_​​elem classname到.fbChatSidebar來隱藏它。 (請檢查下面的附件)當在Facebook上「放大」時,聊天側邊欄被隱藏,但是如何?

inspector

enter image description here

我已經搜索了很多關於這個功能,發現在github上回購稱爲detect-zoom,但似乎還存在一些問題,特別是在最新版本的Chrome &。

所以我很好奇Facebook如何用JavaScript檢測到這一點,並且我已經用最新的FF & Chrome嘗試了它,並且Facebook似乎可以正確檢測到它並將側邊欄隱藏在正確的放大級別。

有沒有人知道他們如何實現這個功能?甚至可能的解決方案都是受歡迎

謝謝。

回答

1

我不確定Facebook正在使用的確切解決方案,但我發現他們在窗口大小調整和縮放上都隱藏了邊欄。

我的研究表明,所有瀏覽器(包括IE8)在放大時都會觸發window.resize事件。所以當你想隱藏某些東西時,通過設置一些斷點,你應該能夠實現一些類似的功能。

快速和骯髒的例子:http://jsbin.com/ofufer/1/

+0

嗨@Jonathan,是的,我知道調整也可以觸發事件,但我真正想要的是他們如何實現縮放時。無論如何,仍然感謝您的回覆! – EragonJ

相關問題