我需要一些支持來完成一個jQuery函數,我正在努力了很長一段時間。jQuery顯示基於CSS元素和slideToggle()狀態屬性的隱藏DIV
我有一個div中的HTML內容與類mnu2 mob_hide
。如果頁面寬度大於500像素,則該內容應始終可見,如果寬度小於500像素,則應隱藏該內容。我正在用CSS媒體查詢做到這一點,它工作得很好。
我也有一個slideToggle()函數應該根據用戶需求顯示/隱藏頁面寬度小於500px的HTML內容。
問題是,對於頁面寬度小於500px,如果內容顯示,然後通過slideToggle()再次隱藏並且用戶調整大於500px的寬度的屏幕大小,HTML內容不再顯示。
我假設slideToggle()函數中的CSS規則覆蓋了CSS媒體規則,並且內容保持隱藏狀態。我需要解決這個問題。
當前的代碼在這裏提供: JSFIDDLE
現在,我所想到的第一解決方案:可以加入另外的jquery函數來檢查屏幕寬度和用於頁面寬度小於500像素放大顯示HTML內容。此代碼的問題在於,即使頁面寬度小於500像素,該功能觸發內容仍然可見。代碼如下,我還沒有在增加的jsfiddle故意:
var filtermshow = jQuery.noConflict();
filtermshow(window).on('resize', function(){
var win = filtermshow(this); //this = window
if (win.width() >= 500) {
filtermshow('.mob_hide').css({
display: 'block',
});
}
});
有沒有一種方法,使再次隱藏的寬度小於500px的HTML內容,無論是通過jQuery或CSS,並在同一時間保持slideToggle()的功能? 任何eedback將不勝感激!
這實際上是接近天才的解決方案!謝謝菲利普,爲了節省時間來開發這樣漂亮的代碼。僅供參考:由於應用於內容菜單的其他樣式,我必須用'display:block;'和'display:none;'替換height:auto;'和'height:0;',這導致它成爲在'height:0;'處可見;'再次感謝! – user3132858