2012-02-13 20 views
15

मैं डीओएम ऑब्जेक्ट जैसे कि div पर स्क्रॉल व्हील के साथ स्क्रॉल करने में सक्षम हो सकता हूं या तीर कुंजियों (जैसे overflow:scroll), लेकिन स्क्रॉल बार नहीं दिखाता (जैसे overflow:hidden)?स्क्रॉल करने योग्य लेकिन कोई स्क्रॉल बार

+0

ऐसा क्यों downvoted है? – sawa

+1

मुझे कोई जानकारी नहीं है - इसे क्षतिपूर्ति करने के लिए इसे ऊपर उठाना होगा;) –

उत्तर

5

आप किसी इवेंट श्रोता को स्क्रोलडाउन/स्क्रॉलअप (मूसहेल इवेंट के माध्यम से, इवेंट.विइल डेलटा को कैल्क आकार और स्क्रॉल के डायरेक्टिनो में देखकर) को बाध्य कर सकते हैं और मैन्युअल रूप से एक निश्चित निश्चित ऊंचाई के अंदर एक पूर्णतया स्थित div को स्थिति/अपेक्षाकृत स्थानांतरित div । तो स्क्रॉल डाउन पर आप आंतरिक div की y स्थिति को कम करते हैं, और स्क्रॉल पर आप y स्थिति बढ़ाते हैं।

तीर कुंजियों के लिए, बस नीचे/ऊपर तीर के लिए कुंजीडाउन ईवेंट की जांच के लिए एक समान फ़ंक्शन को बाध्य करें। http://jsfiddle.net/wsmithrill/U7ju8/32/

+0

अद्भुत। धन्यवाद। – sawa

2

आप जावास्क्रिप्ट पूरी तरह छोड़ना चाहते हैं, तो आप कोशिश कर सकते हैं कि मैं क्या सुझाव दिया here:

मैं यहाँ इस तकनीक exampling एक jsfiddle बनाया है।

असल में, एक कंटेनर div है जो आपकी सामग्री div से थोड़ा सा संकुचित है। कंटेनर ओवरफ्लो पर सेट करें: छुपा हुआ है, लेकिन सामग्री div अतिप्रवाह पर सेट है: स्क्रॉल करें। यदि कंटेनर संकुचित है, तो यह स्क्रॉल बार छुपाएगा।

+0

चालाक। मुझें यह पसंद है। – SpaceBeers

+0

खुशी है कि आप इसे पसंद करते हैं! दुर्भाग्यवश, यह उपयोगिता स्टैंड पॉइंट से डरावना है - उपयोगकर्ता को यह पता होना चाहिए कि साइट से अधिक सामग्री क्यों है? – chipcullen

+1

सच है लेकिन मुझे इस तरह की छोटी सी चालों के लिए स्वस्थ सम्मान है ... – SpaceBeers

0

अगर यह जब आप शीर्ष तक पहुँचने की आवश्यकता हो सकती नीचे स्क्रॉल को रोकने के लिए:

var top_val = $("#inner").css("top"); 
if (top_val.indexOf("-") > -1) 
{ 
    $("#inner").css("top", parseInt($("#inner").css("top"), 10) + 5 + "px"); 
} 
संबंधित मुद्दे