Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
1 / 1 / 1
Регистрация: 29.06.2013
Сообщений: 78

Перемещение по экрану и масштабирование

14.09.2015, 09:44. Показов 3123. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С помощью мыши передвигаем элемент, собственно проблема в масштабировании этого же элемента. У меня получается, что при попытке изменить размеры элемента, срабатывает всегда "перемещение". Как можно решить данную проблему?
HTML5
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
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="WebApplication8._Default" %>
 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<style> 
div {
    resize: both;
    overflow: auto;
}
</style>
<table id="pic">
         <tr>   
            <td>
            fpffppfpfpfpfppffppf
            </td>
            </tr>
            <tr>
            <td>
      <div>
   6786868686
   </div>
  </td>
        </tr>
  </table>
<script type="text/javascript" id="  pic.ondragstart = function () {
            return false;
        };">
    var pic = document.getElementById('pic');
 
    pic.onmousedown = function (e) { 
 
    
        pic.style.position = 'absolute';
        moveAt(e);
     
        document.body.appendChild(pic);
 
       pic.style.zIndex = 1000; 
 
  
        function moveAt(e) {
            pic.style.left = e.pageX - pic.offsetWidth / 2 + 'px';
            pic.style.top = e.pageY - pic.offsetHeight / 2 + 'px';
        }
 
 
        document.onmousemove = function (e) {
            moveAt(e);
        }
 
    
        pic.onmouseup = function () {
            document.onmousemove = null;
            pic.onmouseup = null;
        }
        pic.ondragstart = function () {
            return false;
        };
    }
</script>
 
 
</asp:Content>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.09.2015, 09:44
Ответы с готовыми решениями:

Перемещение по экрану
Как сделать так, чтобы во время работы программы, каждые 2 секунды менялось ее положение. у меня Visual studio 2008

Перемещение курсора по экрану
необходимо перемещать курсор по экрану. программу я написала, но может можно как то с помощью цикла организовать это: data segment ...

Перемещение изображения по экрану
господа подскажите если я напишу вот так InvalidateRect(hwnd,NULL,TRUE)или вот так-InvalidateRect(hwnd,NULL,FALSE)экран мерцает,но это и...

11
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
14.09.2015, 10:47
Отлавливай не onmouse..., а ondrag...
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.09.2015, 15:08
AnatDenis, знаете, могу сказать так, когда я делал свои окна(правда они до сих пор в виде проекта), я просто посмотрел на окна моей винды, и понял, что действие, которое должно происходить, она(винда) определяет по координатам относительно элемента перетаскивания, короче у меня получился достаточно большой скрипт, могу конечно выложить и вы посмотрите, но там само определение разбросанно по всему скрипту

Добавлено через 56 секунд
Цитата Сообщение от mytilus Посмотреть сообщение
не onmouse..., а ondrag...
насколько мне известно на элементы, у которых не поставлен атрибут dragabble это событие не срабатывает
0
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
14.09.2015, 16:29
Цитата Сообщение от BANO Посмотреть сообщение
на элементы, у которых не поставлен атрибут dragabble это событие не срабатывает
Думается, указать атрибут - не проблема.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.09.2015, 20:49
mytilus, только тогда сразу до черта проблем поязвляется, поскольку блок будет двигаться и скидываться куда угодно, где есть обработчик дропа
короче говоря тот drag&drop, который реализован средствами браузере по факту нужен для другого, для имитации перемещения файлов или элементов, но по факту ничего не даёт, просто даёт стандарты=ный для браузера эффект перетаскивания
0
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
16.09.2015, 00:39
Если речь идет о гриде элемента в нижнем правом углу, то проблем с позицией курсора мыши будет не меньше, ибо этот грид рисуется каждым браузером по-своему.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
16.09.2015, 08:13
mytilus, а в курсов разве нельзя поставить свой рисунок grid?
по-моему url уже давно поддерживается

Добавлено через 58 секунд
да и чем вам не нравится дефалтовый для юзера грид? он может не поймёт что это грид, если мы его под себя делать будем
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
16.09.2015, 09:11
BANO, коллега mytilus, имхо, имел в виду, что попытка "определить позицию курсора на контейнере и, если курсор попадает в площадь "грида", то функцию перетаскивания по mousedown отключить" вряд ли будет успешной из-за того, что "гриды" в разных браузерах разные по размерам

насчёт "своего" рисунка для "грида" (или для курсора) коллега mytilus совсем ничего не писал, это вы неверно его поняли
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
16.09.2015, 19:14
Цитата Сообщение от kalabuni Посмотреть сообщение
"гриды" в разных браузерах разные по размерам
вот моё решение этой проблемы
Цитата Сообщение от BANO Посмотреть сообщение
поставить свой рисунок grid
Добавлено через 1 минуту
так, мне кажется я запутался в терминах
grid - вид курсора со стрелками вверх и вниз, обычно обозначающий перемежение или ресайз
так я понял или нет?
0
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
17.09.2015, 09:31
Нет, grid - область в нижнем правом углу элемента, которую можно захватить мышью и потянуть для изменения размеров этого элемента.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
17.09.2015, 09:44
механизм реализации свойства стиля resize, имхо, находится вне пределов динамической объектной модели документа, поэтому ни отследить его работу, ни воздействовать на этот механизм средствами яваскрипта нельзя

отсюда вывод: в данном конкретном случае следует
-- либо отказаться от использования свойства стиля resize и реализовать изменение размеров контейнера DOM-методами
-- либо создать в контейнере специальную зону захвата мышкой для последующего перемещения контейнера (по типу конструкции окон в windows, когда перемещать окно можно используя "захват мышкой" только в области заголовка окна
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
17.09.2015, 21:41
Цитата Сообщение от kalabuni Посмотреть сообщение
создать в контейнере специальную зону захвата мышкой для последующего перемещения контейнера
я вот этот пример выбрал

могу сюда скинуть проект с моими окошками, как пример реализации этого метода, но там всё - говнокод, поскольку я не рассчитывал, что кто-то его будет смотреть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.09.2015, 21:41
Помогаю со студенческими работами здесь

Перемещение формы по экрану
Есть две формы: Form1 и Form2. Нужно, чтобы при перемещении Form1 по экрану Form2 перемещалась вместе с ней. Никак не могу понять какое...

Перемещение жучка по экрану
1)В центре экрана сидит &quot;жучок&quot;, который может перемещаться по прямой на указанное расстояние и поворачивать направо и налево на заданный...

Перемещение окружности по экрану
окружность радиуса R перемещается на экране справа налево, по достижению ею середины экрана она делится на два равных сектора. первый...

Перемещение текста по экрану
На экране есть 20 строк, в каждой строке по 60 символов(все залито опреденным цветом TextColor и TextBackGround), программа в текстовом...

Proteus. Перемещение по экрану
Всем добрый день. Решил задать этот вопрос именно в этой ветки, потому что, эта программа популярна среди людей работающих с МК. В...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника Номенклатура по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор под наименованию группы (на. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника Сотрудники по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru