Badraoui نشر 4 يناير 2016 أرسل تقرير نشر 4 يناير 2016 (معدل) ألاحظ كثيرا هذه التقنية، وهي استخدام طريقة السحب drag & drop مع input file لتحميل الملفات على مواقع كثيرة، فما هي الطريقة المتبعة لبرمجة ذلك؟ أود إدراجها في موقعي؟ تم التعديل في 4 يناير 2016 بواسطة Badraoui اقتباس
1 E.Nourddine نشر 4 يناير 2016 أرسل تقرير نشر 4 يناير 2016 أشرح لك الطريقة عبر كود Drag and drop باستعمال JavaScript ، حيث تدعمه المتصفحات: chrome،FireFox وsafariباعتبار كود html:<div id="drop-zone"> Drop files here... <div id="clickHere"> or click here.. <input type="file" name="file" id="file" /> </div> </div>كود Javascript:$(function () { var dropZoneId = "drop-zone"; var buttonId = "clickHere"; var mouseOverClass = "mouse-over"; var dropZone = $("#" + dropZoneId); var ooleft = dropZone.offset().left; var ooright = dropZone.outerWidth() + ooleft; var ootop = dropZone.offset().top; var oobottom = dropZone.outerHeight() + ootop; var inputFile = dropZone.find("input"); document.getElementById(dropZoneId).addEventListener("dragover", function (e) { e.preventDefault(); e.stopPropagation(); dropZone.addClass(mouseOverClass); var x = e.pageX; var y = e.pageY; if (!(x < ooleft || x > ooright || y < ootop || y > oobottom)) { inputFile.offset({ top: y - 15, left: x - 100 }); } else { inputFile.offset({ top: -400, left: -400 }); } }, true); if (buttonId != "") { var clickZone = $("#" + buttonId); var oleft = clickZone.offset().left; var oright = clickZone.outerWidth() + oleft; var otop = clickZone.offset().top; var obottom = clickZone.outerHeight() + otop; $("#" + buttonId).mousemove(function (e) { var x = e.pageX; var y = e.pageY; if (!(x < oleft || x > oright || y < otop || y > obottom)) { inputFile.offset({ top: y - 15, left: x - 160 }); } else { inputFile.offset({ top: -400, left: -400 }); } }); } document.getElementById(dropZoneId).addEventListener("drop", function (e) { $("#" + dropZoneId).removeClass(mouseOverClass); }, true); })كود css:#drop-zone { /*Sort of important*/ width: 300px; /*Sort of important*/ height: 200px; position:absolute; left:50%; top:100px; margin-left:-150px;وباختصار يتم التعرّف على الملف عبر سحبه إلى الجزء الخاص بالتحميل، ومن ثم رفعه بعد الضغط على زر الرفع أو جعل الرفع يتم تلقائيا.بعد إدراج الكود السبق سيظهر لك حقل input file بالشكل: 1 اقتباس
السؤال
Badraoui
ألاحظ كثيرا هذه التقنية، وهي استخدام طريقة السحب drag & drop مع input file لتحميل الملفات على مواقع كثيرة، فما هي الطريقة المتبعة لبرمجة ذلك؟ أود إدراجها في موقعي؟
تم التعديل في بواسطة Badraoui1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.