2013-12-17 6 views
5

समस्याJQuery sortable (विभिन्न ऊंचाइयों के साथ आइटम) प्रथम या अंतिम स्थिति में जाने से परेशानी

मैं विभिन्न ऊंचाई के कई आइटम के साथ मेरी sortable सूची के साथ समस्या हो रहा है। समस्या तब होती है जब मैं एक बड़ी वस्तु को पहली या आखिरी स्थिति में स्थानांतरित करने की कोशिश कर रहा हूं (जिसमें दोनों छोटी वस्तुएं हैं)। यदि मैं वर्तमान में सफल हूं तो इस पर निर्भर करता है कि मैं जिस बड़े आइटम पर क्लिक करता हूं और ड्रैग करना शुरू करता हूं।

यदि मैं आइटम को छोटी निचली स्थिति में ले जाना चाहता हूं तो मुझे इसे काम करने के लिए आइटम के नीचे के करीब क्लिक करना होगा, और यदि मैं इसे शीर्ष स्थिति में खींचना चाहता हूं तो मुझे शीर्ष पर बारीकी से क्लिक करना होगा। लेकिन मैं कहीं भी क्लिक करके आइटम खींचने में सक्षम होना चाहता हूं।

कुछ अतिरिक्त जानकारी के

आइटम माता पिता बाहर घसीटा नहीं किया जा सकता और माता पिता के रूप में ही बड़ी है के रूप में यह हो गया है और एक स्क्रॉल प्रकट होता है अगर यह बड़ा की तुलना में यह कंटेनर है। तो ऐसा लगता है कि अगर मैं इसे आइटम के शीर्ष भाग में खींच नहीं पाता हूं तो मैं पहले (छोटे) आइटम के पीछे बड़ी वस्तु को खींच नहीं सकता।

मैं कर्सर का उपयोग करके इसे ठीक करने का प्रयास कर रहा हूं और शीर्ष का उपयोग कर 0: और नीचे का उपयोग करके एक और परीक्षण: 0 लेकिन ऐसा कोई फर्क नहीं पड़ता है (इसलिए मैंने इसका उपयोग कैसे किया है गलत समझा होगा)। मैं वर्तमान में सहिष्णुता का उपयोग कर रहा हूं: सूचक।

मैं ड्रैग किए गए आइटम की ऊंचाई के साथ ऊंचाई बढ़ाने के दौरान अस्थायी रूप से अस्थायी रूप से बड़ी स्थिति को खींचने में सक्षम नहीं होने की समस्या को बाईपास कर सकता हूं। लेकिन यह हमेशा काम नहीं करता है और यह एक बहुत अच्छा समाधान नहीं है। और शीर्ष पर खींचने में सक्षम नहीं होने की समस्या अभी भी दिखाई देती है? मैं कैसे जबकि उपयोगकर्ता आइटम पर कहीं भी क्लिक करने के लिए अनुमति ऊपर या नीचे की स्थिति में एक बड़ा आइटम खींच सकते हैं:

मैं में jquery-sortable-with-containment-parent-and-different-item-heights

प्रश्न के रूप में JQuery कोड को बदल नहीं सकते?

आपकी मदद के लिए धन्यवाद!

उत्तर

0

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

container.sortable({ 
     placeholder: "photo placeholder", 
     start: function (event, ui) { 
      ui.placeholder.width(ui.item.width()); 
     } 
    }); 

कस्टम प्लेसहोल्डर कक्षाएं वहाँ सुनिश्चित करने के लिए प्लेसहोल्डर डिफ़ॉल्ट रूप से छुपा नहीं है, और start घटना सुनिश्चित करता है कि प्लेसहोल्डर आइटम आप करने जा रहे हैं के रूप में ही चौड़ाई है चलते हैं। यह मेरे लिए बहुत अच्छा काम करता है, और आपके मामले में, चौड़ाई के लिए ऊंचाई को प्रतिस्थापित करने से काम हो सकता है।

मैंने आपके द्वारा किए गए containment का उपयोग करने का भी प्रयास किया, और पाया कि यह कभी-कभी पंक्ति में वस्तुओं के आधार पर चीजों को अधिक कठिन बनाता है। जैसा कि आपने समझाया है, tolerance: "pointer" समेत मुद्दों को कम करने में मदद करता है, लेकिन यदि संभव हो, तो containment को हटाकर आम तौर पर UI को अधिक क्षमा कर देता है।

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