मेरे पास दो jquery.ui draggables हैं। मैं वाई-अक्ष के लिए अपने आंदोलन को बाधित कर रहा हूं। अगर किसी को किसी निश्चित वाई-पोजिशन पर खींचा जाता है, तो मैं चाहता हूं कि दूसरे स्वचालित रूप से एक ही वाई-स्थिति पर जाएं और इसके विपरीत। क्या किसी ने कभी इन दोनों को एक साथ जोड़ा है?क्या दो jquery.ui draggables को एक साथ जोड़ना संभव है?
उत्तर
अपडेट किया गया: स्क्रिप्ट और डेमो अपडेट किया गया है, इसलिए यह ड्रैग करते समय वाई-अक्ष तक सीमित नहीं है।
यह स्क्रिप्ट कक्षा "समूह" की तलाश करती है जिसके बाद इन संयुक्त वस्तुओं को खींच/छोड़ने के लिए एक संख्या होती है। मैंने demo here पोस्ट किया।
एचटीएमएल
<div class="demo">
<div id="draggable">
<p>Drag from here</p>
<div class="dragme group1"><img src="image1.jpg"><br>Group 1</div>
<div class="dragme group1"><img src="image2.jpg"><br>Group 1</div>
<div class="dragme group2"><img src="image3.jpg"><br>Group 2</div>
<div class="dragme group2"><img src="image4.jpg"><br>Group 2</div>
</div>
<div id="droppable">
<p>Drop here</p>
</div>
</div>
स्क्रिप्ट
$(document).ready(function() {
// function to get matching groups (change '.group' and /group.../ inside the match to whatever class you want to use
var getAll = function(t) {
return $('.group' + t.helper.attr('class').match(/group([0-9]+)/)[1]).not(t);
};
// add drag functionality
$(".dragme").draggable({
revert: true,
revertDuration: 10,
// grouped items animate separately, so leave this number low
containment: '.demo',
stop: function(e, ui) {
getAll(ui).css({
'top': ui.helper.css('top'),
'left': 0
});
},
drag: function(e, ui) {
getAll(ui).css({
'top': ui.helper.css('top'),
'left': ui.helper.css('left')
});
}
});
$("#droppable").droppable({
drop: function(e, ui) {
ui.draggable.appendTo($(this));
getAll(ui).appendTo($(this));
}
});
});
मैं इस से पहले नहीं किया है, लेकिन मैं drag
घटना उपयोग करने का सुझाव संबंधित अन्य तत्व की स्थिति को समायोजित करने के लिए: (संपत्ति ui.offset
में)
$('.selector').draggable({
...,
drag: function(event, ui) {
},
...
});
ui
वस्तु जानकारी होगी आप कर सकते हैं मैन्युअल रूप से अन्य तत्व को पुनर्स्थापित करने के लिए उपयोग करें।
आपको दोनों तत्वों के वाई-एक्सिस को स्पष्ट रूप से सेट करना होगा।
इसके लिए या तो दोनों तत्वों के हैंडलर फ़ंक्शंस में आपको वाई-एक्सिस सेट करना होगा या दोनों तत्वों को एक ही फ़ंक्शन के साथ बांधना होगा।
हैप्पी कोडिंग।
https://forum.jquery.com/topic/dragging-a-group-of-items-alsodrag-like-alsoresize
मैं यूआई खींचने योग्य के लिए एक एक्सटेंशन मिल गया()। यह यूआई आकार बदलने योग्य (के लिए 'alsoResize') के रूप में एक ही तरह से काम करता है, अर्थात
$('.selector').draggable({ alsoDrag: '.selected' });
मुख्य jQuery ui को पुस्तकालय के बाद प्लगइन कोड जोड़ें।
$.ui.plugin.add('draggable', 'alsoDrag', {
start: function() {
var that = $(this).data("ui-draggable"),
o = that.options,
_store = function (exp) {
$(exp).each(function() {
var el = $(this);
el.data("ui-draggable-alsoDrag", {
top: parseInt(el.css("top"), 10),
left: parseInt(el.css("left"), 10)
});
});
};
if (typeof(o.alsoDrag) === "object" && !o.alsoDrag.parentNode) {
if (o.alsoDrag.length) { o.alsoDrag = o.alsoDrag[0]; _store(o.alsoDrag); }
else { $.each(o.alsoDrag, function (exp) { _store(exp); }); }
}else{
_store(o.alsoDrag);
}
},
drag: function() {
var that = $(this).data("ui-draggable"),
o = that.options,
os = that.originalSize,
op = that.originalPosition,
delta = {
top: (that.position.top - op.top) || 0,
left: (that.position.left - op.left) || 0
},
_alsoDrag = function (exp, c) {
$(exp).each(function() {
var el = $(this), start = $(this).data("ui-draggable-alsoDrag"), style = {},
css = ["top", "left"];
$.each(css, function (i, prop) {
var sum = (start[prop]||0) + (delta[prop]||0);
style[prop] = sum || null;
});
el.css(style);
});
};
if (typeof(o.alsoDrag) === "object" && !o.alsoDrag.nodeType) {
$.each(o.alsoDrag, function (exp, c) { _alsoDrag(exp, c); });
}else{
_alsoDrag(o.alsoDrag);
}
},
stop: function() {
$(this).removeData("draggable-alsoDrag");
}
});
यहाँ (मेरे जैसे नौसिखियों के लिए) उल्लेखनीय जवाब में बताया गया कोड का एक सरलीकृत संस्करण है:
एचटीएमएल
<div id="div1" class="group">...</div> <div id="div2"class="group">...</div>
में स्क्रिप्ट टैग में
$(document).ready(function(){ //to get the group var getGroup = function() { return $(".group"); }; // add drag functionality $(".group").draggable({ revertDuration: 10, // grouped items animate separately, so leave this number low containment: "window", scroll: false, stop: function(e, ui) { getGroup(ui).css({ 'top': ui.helper.css('top'), }); }, drag: function(e, ui) { getGroup(ui).css({ 'top': ui.helper.css('top'), 'left': ui.helper.css('left') }); } }); });
- 1. दो सूचियों को एक साथ जोड़ना
- 2. क्या दो .po अनुवाद फ़ाइलों को एक साथ जोड़ना संभव है?
- 3. एक साथ दो चर जोड़ना?
- 4. एक साथ कई सूचियों को जोड़ना संभव है? (पायथन)
- 5. क्या एक CheckTextPreference को CheckBoxPreference से जोड़ना संभव है?
- 6. सी #, लिंक 2 एसक्यूएल: क्या दो क्वेरीबल्स को एक में जोड़ना संभव है?
- 7. दो संख्याओं को जोड़ना
- 8. डब्ल्यूसीएफ में कॉल को जोड़ना संभव है?
- 9. find_by_sql के साथ will_paginate को जोड़ना संभव है?
- 10. क्या एफ # में एकाधिक विशेषताओं को जोड़ना संभव है?
- 11. क्या चार्ट में शीर्षक जोड़ना संभव है?
- 12. क्या PHP में हेरेडोक स्ट्रिंग को जोड़ना संभव है ..?
- 13. क्या एक डीआईवी पर इवेंटलिस्टर जोड़ना संभव है?
- 14. आर दो कारकों को जोड़ना
- 15. क्या संरचना में एक सूची जोड़ना संभव है?
- 16. क्या एक csproj फ़ाइल में टिप्पणियां जोड़ना संभव है?
- 17. क्या स्थिर लाइब्रेरी को दो बार डुप्लिकेशंस में जोड़ना है?
- 18. क्या सी # में स्ट्रिंग और डीबीएनएल को जोड़ना संभव है?
- 19. क्या GAEUnit को कोड कवरेज समर्थन जोड़ना संभव है?
- 20. Ember.js और jQuery.ui
- 21. क्या पर्यवेक्षक को tableView.contentOffset में जोड़ना संभव है?
- 22. क्या नेटबीन्स को बाहरी कमांड लाइन टूल्स जोड़ना संभव है?
- 23. एक शब्द दो संभव विभाजक
- 24. PHP: एक साथ सरणी जोड़ना
- 25. दो पांडा डेटाफ्रेम जोड़ना
- 26. जोड़ना/दो सरणियों
- 27. क्या PHP में सरणी के भीतर दो सरणी जोड़ना संभव है?
- 28. रेल: क्या है_and_belongs_to_many एसोसिएशन में अतिरिक्त विशेषता जोड़ना संभव है?
- 29. एसक्यूएल: स्ट्रिंग को एक साथ जोड़ना
- 30. क्या UINavigationController को दो बार पॉप करना संभव है?
मुझे "अनकॉट टाइप एरर मिल रहा है: GetAll में वापसी विवरण पर संपत्ति '1' शून्य 'नहीं पढ़ सकता है। – user3281466
'निर्माण' ईवेंट के दौरान 'ui' पैरामीटर' अपरिभाषित 'है। इसलिए उस समय 'getAll' फ़ंक्शन का उपयोग न करें। – Mottie