Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.11.2014, 17:06
Аспирант
Отправить личное сообщение для accept Посмотреть профиль Найти все сообщения от accept
 
Регистрация: 19.06.2014
Сообщений: 34

ВЫДЕЛЯТОР как в виндовсе
http://jsfiddle.net/0tfxdp3a/
помогите, не могу понять, как дальше? ? выделятор нужен точно как в виндовсе - чтоб менялась ширина/высота при перемещении слева/вверх/вниз, а не только вправо
Ответить с цитированием
  #2 (permalink)  
Старый 27.11.2014, 17:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

accept,

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title> - jsFiddle demo</title>
  <style type='text/css'>
    #line{
		position: absolute;
		width: 0px;
		height: 0px;
		background: rgba(0,90,255,0.25);
		border: 1px solid rgba(0,114,255,0.5);
		box-sizing: border-box;

	}
  </style>



<script>
window.onload = function() {
    var target = document.getElementById("line");
    document.onmousedown = function(e) {       
        var x = e.pageX;
        var y = e.pageY;
        document.onmousemove = function(e) {
            target.style.width = Math.abs(e.pageX - x) + "px";
            target.style.height = Math.abs(e.pageY - y) + "px";
            target.style.left = (e.pageX < x ? e.pageX : x) + "px";
            target.style.top = (e.pageY < y ? e.pageY : y)+ "px";
        }; 
        return false
    };
    document.onmouseup = function() {
        target.style.width = 0 + "px";
        target.style.height = 0 + "px";
        document.body.style.cursor = "auto";
        document.onmousemove = null
    }
};</script>


</head>
<body>
  <div id="line"></div>
</body>
</html>

Последний раз редактировалось рони, 27.11.2014 в 18:46.
Ответить с цитированием
  #3 (permalink)  
Старый 27.11.2014, 17:40
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от рони
document.onmousemove = function() {}
= null
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 27.11.2014, 17:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

danik.js,
как веть скажешь, сам так делаю ... а вдруг у ТС великие замыслы )))
Ответить с цитированием
  #5 (permalink)  
Старый 27.11.2014, 17:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

как от знака избавится кроме как Math.abs ?
Ответить с цитированием
  #6 (permalink)  
Старый 27.11.2014, 18:18
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

рони, по правой кнопке мыши выделение тоже срабатывает и при отпускании не убирается. Нужно сделать дополнительную проверку event.which.
Ответить с цитированием
  #7 (permalink)  
Старый 27.11.2014, 18:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Ruslan_xDD,
напиши проверку event.which не могу придумать вариант, вылетают системные предупреждения.
Ответить с цитированием
  #8 (permalink)  
Старый 27.11.2014, 18:43
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Ruslan_xDD
рони, по правой кнопке мыши выделение тоже срабатывает
В винде тоже ведь страбатывает. А вот со средней кнопкой - нет.
Сообщение от Ruslan_xDD
и при отпускании не убирается
В файрфоксе все норм. В хроме косепоры накосепорили как обычно. Давно отписывался про косяки райтклика, а эти гандоны делают вид что ниче не происходит.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 27.11.2014, 18:45
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от рони
как от знака избавится кроме как Math.abs ?
А как квадратный корень извлечь кроме как Math.sqrt?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 27.11.2014, 18:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

danik.js,
можно так но вдруг есть путь иной
var x= -5;
if (x < 0) x = -x;
alert(x);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как включить синхронное выполнение строк? SkaN Элементы интерфейса 1 26.04.2012 22:28
Как писать код который легко поддерживать, расширять, читать. Policeman Общие вопросы Javascript 3 24.03.2012 05:40
Как при быстром многократном клике по кнопке обрабатывать только первый клик battrack jQuery 3 22.03.2012 10:47
Как отловить обратное событие "click" ? jsuse Общие вопросы Javascript 2 18.01.2012 00:16
Как сделать электронный каталог продукции? natarius Серверные языки и технологии 6 24.05.2009 20:56