2013-04-10 56 views
0

我正在使用tinyscrollbar在框中顯示一些文本。我有2個樣式表:如何調用JavaScript更改CSS

<link rel="stylesheet" media="all and (min-width: 1152px) and (max-width: 9000px)" href="grid-1218.css"/> 
<link rel="stylesheet" media="all and (min-width: 1px) and (max-width: 1151px)" href="grid-978.css"/> 

我面臨一個問題:當我改變CSS盒子變大但高度保持不變,我不想申報CSS的高度,我得到了一些箱子。

有沒有什麼辦法重新運行腳本來獲得新的高度?

回答

1

據我所知,沒有針對媒體查詢更改的特定事件。

您可以綁定到窗口的resize事件,並在每次調整大小時重新運行JavaScript,或者執行一些檢查以查看調整大小是否是重要的。

+0

found this oScrollbar5.tinyscrollbar_update();更新內容,你可以給我發送調整大小的完整腳本? – user2110399 2013-04-10 08:34:45

+0

'window.onresize = function(){oScrollbar5.tinyscrollbar_update(); }'儘管我個人對於手動設置事件處理程序很快感到厭倦,並且總是使用jQuery來使它更方便。 – drquicksilver 2013-04-10 08:39:27

+0

謝謝你的工作;) – user2110399 2013-04-10 08:44:38

1

它被接受,所以只是爲了記錄。您還可以使用matchMediaaddListener

window.matchMedia("(min-width: 152px) and (max-width: 900px)").addListener(function(mq) { 
    if (mq.matches) { 
     oScrollbar5.tinyscrollbar_update(); 
    } 
}); 

它工作在IE10 +,那麼肯定現在window.onresize更好。

+0

我不知道媒體聽衆。有趣的,謝謝。 – drquicksilver 2013-04-10 09:04:23