2010-01-20 12 views
5

मेरे पास एक jQuery स्लाइडर प्रारंभ हुआ है और फिर गतिशील रूप से एक जेसन-अनुरोध की सामग्री पर प्रदर्शित न्यूनतम अधिकतम मान सेट करें। चरण 100 तक, न्यूनतम अधिकतम भी सौ तक पुन: गणना की जाती है, अधिकतर मामले 300 और 4800 के बीच कहीं भी हैं।jQuery स्लाइडर समस्या न्यूनतम और अधिकतम मानों तक पहुंचने

स्लाइडर मान और सेटिंग्स ठीक हैं, लेकिन जब मैं हैंडल ले जाता हूं तो मैं इसे सब नहीं प्राप्त कर सकता छोर तक रास्ता, यह न्यूनतम/अधिकतम मूल्यों से कुछ कदम रोकता है। ऐसा क्यों है?

मैंने सभी प्रकार की चीजों की कोशिश की है, कुछ भी काम नहीं करता है। मैंने शीर्ष मूल्य पर 200 जोड़ना और निचले हिस्से में 200 को घटाना और क्षतिपूर्ति करना समाप्त कर दिया, लेकिन यह एक हैक है और समाधान नहीं है।

+0

क्या यह है कि हैंडल ने अधिकतम स्थिति प्राप्त की है, लेकिन रिपोर्ट किया गया मान अधिकतम नहीं है (हैंडल के विपरीत भी अंत तक लाया जा सकता है)? और जब आप जल्दी से स्लाइड करते हैं तो यह और भी बदतर है? बस यह निर्धारित करने की कोशिश कर रहा है कि यह वही समस्या है जिसे मैं अनुभव कर रहा हूं। अभी तक कोई समाधान नहीं है ... लेकिन आपको बताएगा। – Ben

उत्तर

6

अपनी 'स्लाइड' कॉलबैक में, मूल्य प्राप्त करने के लिए ui.value का उपयोग करने का प्रयास करें। यह मेरी समस्या हल हो गई। jQuery UI slider - can't slide to 0 देखें उत्तर को छोड़कर, उत्तर पर टिप्पणी के अनुसार जाएं।

0

मुझे एहसास है कि यह प्रश्न 5 साल पुराना है, लेकिन मुझे आज भी इसी तरह की समस्या का सामना करना पड़ा। मेरे पास कई चरणों के साथ एक छोटा स्लाइडर था, यह 0.01 के चरणों के साथ 0 से 1 तक चला गया। स्लाइडर हैंडल बाहरी कदमों को मारने से पहले स्लाइडर के सिरों में टक्कर लगी होगी, इसलिए मैं केवल 0.02 तक और 0.98 तक जा सकता था।

यदि कोई इस समस्या में चलता है, तो एक त्वरित कार्य-आसपास बस अपने मिनट और अधिकतम मानों को थोड़ा और आगे बढ़ाना है, यदि उपयोगकर्ता उन्हें पीछे छोड़ देता है तो आपके मूल्य को समायोजित और समायोजित करना चाहिए।

('.slider-container').slider({ 
       min: -0.02, max: 1.02, step: 0.01, slide: function() { 

        // make values below 0 and over 1 snap back 
        if ($(this).slider('value') < 0) { 
         $(this).slider('value', 0); 
        } 

        if ($(this).slider('value') > 1) { 
         $(this).slider('value', 1); 
        } 
}); 
0

मैं इन सेटिंग्स

min: 35000.74 
max: 150000 
step: 1 //(default, did not actually change it) 

और स्लाइडर केवल जहाँ तक 149999.74 के रूप में चला गया के साथ एक समान समस्या थी। बेशक, मेरे मामले में समस्या यह थी कि चरण 1 और एक सीमा जो इन चरणों में समान रूप से विभाजित नहीं होती है, अंत में एक मूल्य स्लाइडर के साथ कभी नहीं पहुंचा जा सकता है।

मिनट को 35000 (Math.floor()) में बदल दिया और सब कुछ एक आकर्षण की तरह काम किया।

संबंधित मुद्दे