|
|

27.11.2014, 17:06
|
|
Аспирант
|
|
Регистрация: 19.06.2014
Сообщений: 34
|
|
|
ВЫДЕЛЯТОР как в виндовсе
http://jsfiddle.net/0tfxdp3a/
помогите, не могу понять, как дальше? ? выделятор нужен точно как в виндовсе - чтоб менялась ширина/высота при перемещении слева/вверх/вниз, а не только вправо
|
|

27.11.2014, 17:27
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
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.
|
|

27.11.2014, 17:40
|
 |
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
|
Сообщение от рони
|
|
document.onmousemove = function() {}
|
= null
__________________
В личку только с интересными предложениями
|
|

27.11.2014, 17:45
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
|
danik.js,
как веть скажешь, сам так делаю ... а вдруг у ТС великие замыслы )))
|
|

27.11.2014, 17:48
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
 как от знака избавится кроме как Math.abs ?
|
|

27.11.2014, 18:18
|
 |
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
рони, по правой кнопке мыши выделение тоже срабатывает и при отпускании не убирается. Нужно сделать дополнительную проверку event.which. 
|
|

27.11.2014, 18:37
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
|
Ruslan_xDD,
напиши проверку event.which не могу придумать вариант, вылетают системные предупреждения.
|
|

27.11.2014, 18:43
|
 |
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
|
Сообщение от Ruslan_xDD
|
|
рони, по правой кнопке мыши выделение тоже срабатывает
|
В винде тоже ведь страбатывает. А вот со средней кнопкой - нет.
|
Сообщение от Ruslan_xDD
|
|
и при отпускании не убирается
|
В файрфоксе все норм. В хроме косепоры накосепорили как обычно. Давно отписывался про косяки райтклика, а эти гандоны делают вид что ниче не происходит.
__________________
В личку только с интересными предложениями
|
|

27.11.2014, 18:45
|
 |
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
|
Сообщение от рони
|
|
как от знака избавится кроме как Math.abs ?
|
А как квадратный корень извлечь кроме как Math.sqrt?
__________________
В личку только с интересными предложениями
|
|

27.11.2014, 18:49
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
danik.js,
можно так но вдруг есть путь иной
var x= -5;
if (x < 0) x = -x;
alert(x);
|
|
|
|