2011-09-13 18 views
8

के आधार पर मैं बाहर नेविगेशन बार एक स्लाइड है कि मैं> = 1024 के स्क्रीन की चौड़ाई पर डिफ़ॉल्ट रूप से खुला है और डिफ़ॉल्ट < 1024 द्वारा बंद कर दिया मैं एक बटन है कि यह खुला टॉगल और इसे बंद कर दिया है करना चाहते हैं। मैं बस जेएस सीखना शुरू कर रहा हूँ। मुझे लगता है कि अगर खिड़की की चौड़ाई> = 1024 है तो एक कथन में डिफ़ॉल्ट टॉगल स्थिति सेट करने का कोई तरीका है। किसी भी तरह की सहायता का स्वागत किया जाएगा। टॉगल के लिए अब तक मेरे पास क्या है।jQuery अगर बयान स्क्रीन आकार

$('a.expand').toggle(function() { 
     $(this).addClass("open"); 
     $('#nav').animate({width: 50},{queue:false, duration:300}); 
     $('.wrapify').animate({marginLeft: 50},{queue:false, duration:300}); 
     $('.primarynav ul').hide(); 
     $('.navlogo').hide(); 

    }, function() { 
     $(this).removeClass("open"); 
     $('#nav').animate({width: 200},{queue:false, duration:300}); 
     $('.wrapify').animate({marginLeft: 200},{queue:false, duration:300}); 
     $('.primarynav ul').show(); 
     $('.navlogo').show(); 

    }); 
+2

इस के लिए [CSS3 के मीडिया के प्रश्नों] (एक नौकरी की तरह लगता है http://www.css3.info/preview/media jQuery की बजाय -queries /)। – bzlm

+0

मैं मूल रूप से CSS3 के मीडिया के प्रश्नों का इस्तेमाल किया था, लेकिन अभी भी इसे खोलने के लिए चेतन करने के लिए टॉगल करें और आप बंद हो की आवश्यकता है। मैं यह नहीं समझ सकता कि डिफ़ॉल्ट टॉगल स्थिति को बंद करने के लिए कैसे सेट करें, जिसे मैं jquery के साथ करने की उम्मीद कर रहा हूं। समस्या मेरे पास है, कि पैनल में मीडिया क्वेरी किक खुला राज्य में तकनीकी रूप से अब भी है जब, इसलिए जब मैं इसे मुट्ठी समय यह सिर्फ फिर से बंद करने की कोशिश करता है तो क्लिक करें उसके बाद ठीक काम करता है। – Drhodes

उत्तर

20
$(document).ready(function() { 
    // This will fire when document is ready: 
    $(window).resize(function() { 
     // This will fire each time the window is resized: 
     if($(window).width() >= 1024) { 
      // if larger or equal 
      $('.element').show(); 
     } else { 
      // if smaller 
      $('.element').hide(); 
     } 
    }).resize(); // This will simulate a resize to trigger the initial run. 
}); 

संपादित करें:

या हो सकता है यह आप क्या कर रहे हैं के बाद: जब दस्तावेज़ तैयार है

$(document).ready(function() { 
    if($(window).width() >= 1024) { 
     $('a.expand').click(); 
    } 
}); 

यह तत्व टॉगल जाएगा अगर चौड़ाई है सही बात।

+0

अमर, क्या आप थोड़ा और समझा सकते हैं, या मुझे प्रदान किए गए कोड का उपयोग करके मुझे एक उदाहरण दिखा सकते हैं? तुम्हारी सहायता सराहनीय है। – Drhodes

+1

क्लास नाम "तत्व" के साथ तत्व को दिखाने और छिपाने के लिए कुछ टिप्पणियां, और उदाहरण जोड़े गए। आपके वर्तमान कोड में यह वास्तव में ऐसा लगता है कि जब कुछ क्लिक किया जाता है तो आप कुछ दिखाना चाहते हैं। क्या ऐसा है या आप इसे वास्तविक विंडो आकार बदलने पर बदलना चाहते हैं। क्या आप खिड़की के आकार के आधार पर क्लिक करते समय तत्व को अलग-अलग कार्य करना चाहते हैं? – demux

2

बस screen.width > 1024 के लिए परीक्षण करें।

https://developer.mozilla.org/en/DOM/window.screen.width

+0

मैं इस का उपयोग किया है स्क्रीन की चौड़ाई के लिए परीक्षण करने के लिए है, लेकिन यह पता लगाने की जहां यहां से टॉगल डिफ़ॉल्ट राज्यों पाने के लिए के आधार पर बदलने के लिए कहा चौड़ाई जाना नहीं कर पा रहे। $ (document) .ready (function() { \t अगर ((screen.width> = 1024)) \t { \t \t \t} बाकी \t \t { \t \t \t} }); – Drhodes

+0

क्या आप उपयोगकर्ता द्वारा विंडो का आकार बदलते समय बदलना चाहते हैं? यदि ऐसा है, तो इसका उपयोग करें: '$ (विंडो) .resize (function() {if (screen.width> = 1024) ...});' – Blazemonger

+0

मुझे लगता है कि स्क्रीन आकार 1024 होने पर मुझे इसे बदलने की आवश्यकता है, या अगर वे 1024 से नीचे का आकार बदलते हैं। मेरी मुख्य समस्या टॉगल की डिफ़ॉल्ट स्थिति को बंद कर रही है जब <1024, 1024> खोलें। मैं बाकी सीएसएस 3 मीडिया प्रश्नों के साथ कर सकता था, लेकिन एनीमेशन और टॉगल करने के लिए jquery देखा। – Drhodes

0

मैं एक ऐसी ही परियोजना कर रहा था और इस कोड मेरे लिए बाहर काम किया ..

if($(window).width() >= 540) { 
    //code to execute 
} 
संबंधित मुद्दे