我是一名jQuery初學者,我在設計一個響應式網站時遇到了很多麻煩。他們是桌面網站上的2個水平菜單,當屏幕尺寸達到657px並且更少時,我需要水平菜單成爲下拉菜單。切換讓我在響應式設計中變得瘋狂
我以爲我有一切工作,直到我意識到,當屏幕尺寸小於657px,我打開和關閉(切換?)下拉,它會打開和關閉在更大的尺寸,這是非常有意義的但我不知道如何阻止它做到這一點,所以基本上我需要的是,出現在657px大小下的下拉菜單隻能切換,而不是水平菜單。
我嘗試在> = 657的橫向菜單中添加一個.show以確保它始終顯示,但這只是導致下拉菜單的內容在按下之前顯示。我認爲在我看到很多完美的網站(例如bostonglobe.com)之前,它一定是不可能的。
我認爲這個問題是非常相似的,但我真的不明白的解決方案:Jquery toggle on responsive site
我的HTML(這是一個阿拉伯文網站)
<button id="categories-dd" class="unactive-main"></button>
<nav id="main-navigation">
<ul id="menu">
<li class="leaf" id="dd-mainnav">
<a href="Main.html">الرئيسية</a>
</li>
<li class="leaf1" id="dd-mainnav">
<a href="politics-html.html">سياسة</a>
</li>
<li class="leaf2" id="dd-mainnav">
<a href="sports-html.html">رياضة</a>
</li>
<li class="leaf3" id="dd-mainnav">
<a href="business-html.html">أعمال</a>
</li>
<li class="leaf4" id="dd-mainnav">
<a href="culture-html.html">ثقافة</a>
</li>
<li class="leaf5" id="dd-mainnav">
<a href="opinion-html.html">رأي</a>
</li>
<li class="leaf6" id="dd-mainnav">
<a href="tech-html.html">تكنلوجيا</a>
</li>
<li class="leaf7" id="dd-mainnav">
<a href="lifestyle-html.html">نمط الحياة</a>
</li>
<li class="leaf8" id="dd-mainnav">
<a href="multimedia-html.html">فيديو</a>
</li>
</ul>
</nav>
<!--END: MAIN NAVIGATION-->
<!--SECONDARY NAVIGATION-->
<button id="countries-dd" class="unactive-sec">البلد</button>
<nav id="secondary-navigation">
<ul id="menu2">
<li class="subleaf">
<a href="arab-news-html.html">الإمارات</a>
</li>
<li class="subleaf">
<a href="arab-news-html.html">عمان</a>
</li>
<li class="subleaf">
<a href="arab-news-html.html">اليمن</a>
</li>
<li class="subleaf">
<a href="arab-news-html.html">السعودية</a>
</li>
<li class="subleaf">
<a href="arab-news-html.html">البحرين</a>
</li>
<li class="subleaf">
<a href="arab-news-html.html">قطر</a>
</li>
<li class="subleaf">
<a href="khalij-html.html">الكويت</a>
</li>
<li class="subleaf">
<a href="iraq-html.html">العراق</a>
</li>
<li class="subleaf">
<a href="syria-html.html">سوريا</a>
</li>
<li class="subleaf">
<a href="lebanon-html.html">لبنان</a>
</li>
<li class="subleaf">
<a href="jordan-html.html">الأردن</a>
</li>
<li class="subleaf">
<a href="palestine-html.html">فلسطين</a>
</li>
<li class="subleaf">
<a href="egypt-html.html">مصر</a>
</li>
<li class="subleaf">
<a href="sudan-html.html">السودان</a>
</li>
<li class="subleaf">
<a href="libya-html.html">ليبيا</a>
</li>
<li class="subleaf">
<a href="tunisia-html.html">تونس</a>
</li>
<li class="subleaf">
<a href="algeria-html.html">الجزائر</a>
</li>
<li class="subleaf">
<a href="morocco-html.html">المغرب</a>
</li>
<li class="subleaf">
<a href="mauritania-html.html">موريتانيا</a>
</li>
</ul>
</nav>
<!--END: SECONDARY NAVIGATION-->
我的jQuery(請不要笑) :
$(document).ready(function(){
$('#countries-dd,#categories-dd').on('click', function(){
$(this).next().toggle();
});
$(document).ready(function(){
$('#categories-dd').on('click',function(){
$('#categories-dd').toggleClass('active-main');
});
});
$(document).ready(function(){
$("#countries-dd").on('click',function(){
$("#countries-dd").toggleClass("active-sec");
});
});
});
$(window).resize(function() {
if($(window).width() > 657)
{
$('#main-navigation, #secondary-navigation').show();
}
});
任何幫助非常感謝....謝謝!
你不需要嵌套的的document.ready功能。文檔中定義的所有功能。準備就緒將在事件發生時執行。將所有代碼放入單個document.ready函數中會更清晰。 – 2013-02-08 18:55:07
同一元素上的多個點擊事件也可以組合成單個事件。 – 2013-02-08 19:01:56