2 / 2 / 0
Регистрация: 06.11.2014
Сообщений: 62
1

Drag and Drop в jQuery

19.04.2016, 13:41. Показов 617. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем, здравствуйте!
Ребята, пытаюсь работать с элементом canvas, измучился уже весь... пытаюсь переработать код одного примера на чистом javascript в терминах jQuery(Не работает зараза).Укажите на ошибку если можете или еще лучше может какой-нибудь ресурс (искал в инете ничего не нашел... только на чистом javascript уроки и статьи). Прилагаю сначала мой код а затем код примера:


Мой код:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
            $(document).ready(Start);
            function Start(){
                var controlObj = null;
                InitToolCanvas();
            }
            function Control( x, y, width, height){
                this.x = x;
                this.y = y;
                this.width   = width;
                this.height   = height;
                this.offsetX = 0;
                this.offsetY = 0;
                
                this.draw = function(){
                    var canvasMgr = document.getElementById("canvasMgr");
                    var ctxMgr = canvasMgr.getContext("2d");
 
                    ctxMgr.strokeStyle = "#ddd";
                    ctxMgr.strokeRect(this.x ,this.y, this.width, this.height);
 
                };
            }
 
            function InitToolCanvas(){
                var canvasMgr = document.getElementById("canvasMgr");
                var ctxMgr = canvasMgr.getContext("2d");
                controlObj = new Control(30, 20, 40, 40);
 
                //CanvasMgr Interface
                canvasMgr.width  = 200;
                canvasMgr.height = 400;
 
                ctxMgr.fillStyle = "#222";
                ctxMgr.fillRect(0,0, canvasMgr.width,canvasMgr.height);
              
                
                var drag = false;
                setInterval('controlObj.draw()', 1000/60);
 
                $("#canvasMgr").mousedown(function(e){
                    
                    var mouseX = e.pageX - canvasMgr.offsetLeft;
                    var mouseY = e.pageY - canvasMgr.offsetTop;
                    if(mouseX > controlObj.x 
                    && mouseX < controlObj.x + controlObj.width 
                    && mouseY > controlObj.y 
                    && mouseY < controlObj.y + controlObj.height){
 
                        drag = true;
                        controlObj.offsetX = mouseX - controlObj.x ;
                        controlObj.offsetY = mouseY - controlObj.y ;
 
                     }     
                });
 
                $("#canvasMgr").mouseup(function(e){
                    drag = false;
                });
 
                $("#canvasMgr").mousemove(function(e){
                    var mouseX = e.pageX;
                    var mouseY = e.pageY;
                    if (drag) {           
                        // Изменение координат фигуры
                        controlObj.x = e.pageX - controlObj.offsetX;
                        controlObj.y = e.pageY - controlObj.offsetY;
                    }
                });
            }//InitToolCanvas end
Код примера:
1.rar
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2016, 13:41
Ответы с готовыми решениями:

jQuery UI drag & drop после перезагрузки страницы методы перестаю работать
Здравствуйте, проблема звучит так : пользуюсь библиотекой упомянутой выше, все работает идеально,...

Drag'n drop
Я просто ЗА..мучалса. Интересует реализация загрузки файлов при перетаскивании их на определённый...

Drag and Drop
Drag and Drop Подскажите пожалуйста как сохранить перетаскиваемый элемент в какой-либо из блоков...

Drag and drop
Есть список статей, хочу менять их местами с помощью drag and drop подскажите что почитать ...

3
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
19.04.2016, 17:40 2
http://jquery.page2page.ru/ind... 1%82%D1%8B

а использовать готовый Droppable в JQueryUI не подойдет?
1
2 / 2 / 0
Регистрация: 06.11.2014
Сообщений: 62
19.04.2016, 17:58  [ТС] 3
Благодарю, но интуиция мне подсказывает что с canvas эта технология не сработает. То что мы рисуем на canvas остается в пределах этого элемента и не имеет самостоятельной сущности в отличии от элементов html.
0
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
27.05.2016, 19:18 4
если задачка еще хоть немного актуальна, напиши поподробнее что нужно сделать, добавить еще прямоугольник и в него ловить первый? а то в твоем примере только один прямоугольник двигаешь мышкой внутри канваса.
0
27.05.2016, 19:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2016, 19:18
Помогаю со студенческими работами здесь

Проблема с Drag'n'Drop
Собственно есть Jquery скрипт с технологие возьми и брось. Дело обстоит так: существует 1 блок, в...

Drag and Drop с условием
У меня 10 объектов одного класса и разными идентификаторами. Один приемник. Как реализовать каждое...

Неудобство в drag'n'drop
в сортировке sortable блоки которые тащишь очень большие, нужно сделать так чтобы тащился только...

Эмуляция Drag and Drop на слайдере
Подскажите возможно ли с эмулировать Drag and Drop на слайдере Если да , то как ? Спасибо ))


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru