Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.03.2009, 08:46
Профессор
Отправить личное сообщение для hogart Посмотреть профиль Найти все сообщения от hogart
 
Регистрация: 18.04.2008
Сообщений: 152

Simon, в IE нельзя сделать так, чтобы перемещаемый элемент был выше селектов, радио-баттонов и т.п.
Дело в том, что эти элементы рисуются IE системными средствами и после всего остального.
Насчет фреймов — не уверен.

Либо забить, либо реализовать свой селект
Ответить с цитированием
  #12 (permalink)  
Старый 30.03.2009, 14:47
Аспирант
Отправить личное сообщение для Simon Посмотреть профиль Найти все сообщения от Simon
 
Регистрация: 25.11.2008
Сообщений: 31

hogart,сделать можно, но как правильно не получается. Делается это через фреймы, когда я делал, фрэйм перекрывает основной блок, и взяться уже за перемещаемый блок нельзя(поскольку фрейм заполнил всю часть перемещаемого блока), но селект(список) в это время спрятан за перемещаемый блок.
А можно ли както средствами ява скрипта сделать, ну тоже чтобы компактно и не не большой код был?
Ответить с цитированием
  #13 (permalink)  
Старый 30.03.2009, 16:24
Профессор
Отправить личное сообщение для hogart Посмотреть профиль Найти все сообщения от hogart
 
Регистрация: 18.04.2008
Сообщений: 152

Simon, перетаскивайте блок, который почти весь состоит из фрейма. *пожимает плечами* Как-то так, наверное…
Ответить с цитированием
  #14 (permalink)  
Старый 21.04.2009, 07:12
Новичок на форуме
Отправить личное сообщение для Stern87 Посмотреть профиль Найти все сообщения от Stern87
 
Регистрация: 21.04.2009
Сообщений: 2

Большое спасибо!
Код linbis очень сильно помог. Слегка доработав получил именно то, что нужно!
Спасибо!
Ответить с цитированием
  #15 (permalink)  
Старый 21.04.2009, 17:40
Аспирант
Отправить личное сообщение для Simon Посмотреть профиль Найти все сообщения от Simon
 
Регистрация: 25.11.2008
Сообщений: 31

Stern87, класно, подскажи если есть возможность как доработал?

тот код действительно хороший, но я в ява скриптах очень мало разбираюсь и сделать мне будет очень сложно, былбы признателен если покажешь пример в работе :rolleyes:
Ответить с цитированием
  #16 (permalink)  
Старый 21.04.2009, 23:09
Новичок на форуме
Отправить личное сообщение для Stern87 Посмотреть профиль Найти все сообщения от Stern87
 
Регистрация: 21.04.2009
Сообщений: 2

Доработанный пример в работе
Ответить с цитированием
  #17 (permalink)  
Старый 16.03.2010, 21:35
Аспирант
Посмотреть профиль Найти все сообщения от bugmenot
 
Регистрация: 24.07.2009
Сообщений: 62

Сообщение от linbis Посмотреть сообщение
function $(v) { return(document.getElementById(v)); }
function agent(v) { return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0)); }
function xy(e,v) { return(v?(agent('msie')?event.clientY+document.body.scrollTop:e.pageY):(agent('msie')?event.clientX+document.body.scrollTop:e.pageX)); }

function dragOBJ(d,e) {

    function drag(e) { if(!stop) { d.style.top=(tX=xy(e,1)+oY-eY+'px'); d.style.left=(tY=xy(e)+oX-eX+'px'); } }

    var oX=parseInt(d.style.left),oY=parseInt(d.style.top),eX=xy(e),eY=xy(e,1),tX,tY,stop;

    document.onmousemove=drag; document.onmouseup=function(){ stop=1; document.onmousemove=''; document.onmouseup=''; };

}

<div style="position: relative; top: 0; left: 0" onmousedown="dragOBJ(this,event); return false;">test</div>
А как можно сделать чтобы DIV перемещался только внутри выделенной области? А то так он по всей странице свободно перемещается.
Ответить с цитированием
  #18 (permalink)  
Старый 04.08.2011, 21:17
Новичок на форуме
Отправить личное сообщение для mycrashedmind Посмотреть профиль Найти все сообщения от mycrashedmind
 
Регистрация: 03.07.2011
Сообщений: 2

попроще и с jquery
var mouse_event = 0
				var differenceX = 0
				var differenceY = 0
				$('#dialog_title').mousedown(function(e){
					differenceX = e.pageX-parseInt($('#dialog').css('left'))
					differenceY = e.pageY-parseInt($('#dialog').css('top'))
					mouse_event=1
				})
				document.onmouseup = function(){
					mouse_event = 0
				}
				document.onmousemove = function(e){
					if (mouse_event == 1){
						$('#dialog').css('left',e.pageX-differenceX)
						$('#dialog').css('top',e.pageY-differenceY)
					}
				}

<div id="dialog">
<div id="dialog_title">Title<spa id="dialog_close" style="position:absolute;right:5px;top:3px;cursor: hand;"></span></div>
<div id="dialog_content"></div>
</div>

Последний раз редактировалось mycrashedmind, 04.08.2011 в 21:22.
Ответить с цитированием
  #19 (permalink)  
Старый 16.10.2011, 19:54
Новичок на форуме
Отправить личное сообщение для MartbIshka Посмотреть профиль Найти все сообщения от MartbIshka
 
Регистрация: 16.10.2011
Сообщений: 1

Спасибо за полезный скрипт. Добавила вместо position:relative position:fixed и блок стал перемещаться при прокрутке(удобно не нужно его вниз страницы самому тащить).

Спрашивали, что бы перемещался в нужной области. Для этого следует в документе требуемый блок записать в родительский блок, в пределах которого нужно перемещать.
Ответить с цитированием
  #20 (permalink)  
Старый 19.05.2012, 18:24
Новичок на форуме
Отправить личное сообщение для Deself Посмотреть профиль Найти все сообщения от Deself
 
Регистрация: 18.05.2012
Сообщений: 3

А как сделать чтобы при достижении определёных координат блок останавливался?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
HTML-кнопка как двойной щелчок мышкой Ыукпуй Общие вопросы Javascript 5 20.11.2008 16:18