Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.07.2013, 17:02
Новичок на форуме
Отправить личное сообщение для vahminator Посмотреть профиль Найти все сообщения от vahminator
 
Регистрация: 29.10.2011
Сообщений: 3

Клонирование div-ов при перемещении
Добрый день!
Помогите разобраться с jQuery
Есть в блока:
1-й содержит ячейки которые можно перемещать.
2-й должен принимать эти блоки

Проблема появляется когда с первого блока поместил несколько ячеек во второй блок и попробовать их поменять местами. Оно выбранную ячейку клонирует и не сортирует. Я только изучаю JS и не могу найти как исправить

Посмотреть в живую можно Здесь

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <script type="text/javascript" src="http://demosites.simplecoding.org/jquery_ui_drag_drop/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="http://demosites.simplecoding.org/jquery_ui_drag_drop/jquery-ui-1.8.custom.min.js"></script>
      <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    <script>
$(function() {
        $('.textBlock').draggable({
            helper:'clone'
        });
        $('#block2').droppable({
            hoverClass: 'dropHere'
            ,drop: function(event, ui) {
                $(this).append($('<div class="textBlock2">' + ui.draggable.html() + '</div>'));
            }
        });
    });
    $(function() {
            $( ".bla1, .bla2" ).sortable({
              connectWith: ".connectedSortable"
            }).disableSelection();
  });
</script>
    <style>
    @charset "UTF-8";

    body {
        font-family: Arial, sans-serif;
        font-size: 0.8em;
    }

    h1 {
        font-size: 1.2em;
        text-align: center;
    }

    .wrapper {
        width: 400px;
        margin: 20px auto;
    }

    #block1, #block2, #block3 {
        border: solid 1px #555555;
        margin: 10px;
        padding: 20px;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
    }

    .textBlock {
        border: solid 1px #333333;
        font-weight: bold;
        margin: 10px 0 5px 0;
        padding: 10px;
        text-align: center;
        background-color: #eeeeee;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
    }
    .textBlock2 {
        border: solid 1px #333333;
        font-weight: bold;
        margin: 10px 0 5px 0;
        padding: 10px;
        text-align: center;
        background-color: #eeeeee;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
    }

    .dropHere {
        background-color: #e7e7de;
    }
    .table_drop{
        width: 400px;
    }
    </style>
</head>
<body>
    <div class="wrapper">
        <table border="1" style="width: 900px" class=" connectedSortables"><tr><td style="width: 100px">
            <div id="block1" class=" bla2 connectedSortables">
                <div class="textBlock ui-state-default">Блок 1</div>
                <div class="textBlock ui-state-default">Блок 2</div>
                <div class="textBlock ui-state-default">Блок 3</div>
                <div class="textBlock ui-state-default">Блок 4</div>
                <div class="textBlock ui-state-default">Блок 5</div>
                <div class="textBlock ui-state-default">Блок 6</div>
            </div>
        </td><td>
                
            <div id="block2" class="bla1">
                <div>
                    
                </div>
            </div>
        </td></tr></table>
    </div>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 15.07.2013, 17:06
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

думаю вам нужно брать координаты объектов и сравнивать с перетаскиваемым объектом. и по определенным условиям уже и сортировать.. у вас идет метод append, ясен пень он добавляет в конец..
Ответить с цитированием
  #3 (permalink)  
Старый 15.07.2013, 17:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

vahminator,
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>demo</title>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <style type='text/css'>
  	body {
		font-family: Arial, sans-serif;
		font-size: 0.8em;
	}

	h1 {
		font-size: 1.2em;
		text-align: center;
	}

	.wrapper {
		width: 400px;
		margin: 20px auto;
	}

	#block1, #block2, #block3 {
		border: solid 1px #555555;
		margin: 10px;
		padding: 20px;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
        float: left;
         min-width: 100px;
	}

	.textBlock {
		border: solid 1px #333333;
		font-weight: bold;
		margin: 10px 0 5px 0;
		padding: 10px;
		text-align: center;
		background-color: #eeeeee;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
	}

	.dropHere {
		background-color: #e7e7de;
	}
	.table_drop{
		width: 400px;
	}
  </style>
<script type='text/javascript'>
$(window).load(function(){
		$('#block1 .textBlock').draggable({
			helper:'clone',
            connectToSortable:"#block2"
		});
        $("#block2").sortable()
	});
</script>
</head>
<body>
      <div class="wrapper">
        <div id="block1" class="bla1 connectedSortable">
            <div class="textBlock ui-state-default">Блок 1</div>
            <div class="textBlock ui-state-default">Блок 2</div>
            <div class="textBlock ui-state-default">Блок 3</div>
			<div class="textBlock ui-state-default">Блок 4</div>
            <div class="textBlock ui-state-default">Блок 5</div>
            <div class="textBlock ui-state-default">Блок 6</div>
        </div>
		<div id="block2" class="bla2"></div>
     </div>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 15.07.2013, 18:08
Новичок на форуме
Отправить личное сообщение для vahminator Посмотреть профиль Найти все сообщения от vahminator
 
Регистрация: 29.10.2011
Сообщений: 3

рони,
Большое спасибо! Я, оказывается, копал не в ту сторону. Ваш код намного меньше и приятней читать!
Еще раз большое спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При наведении на определенный блок, DIV, появляется скрытое сожержимое kismedia Элементы интерфейса 9 22.05.2015 19:15
При нажатии на ссылку раскрываются все div anonimous jQuery 1 09.08.2012 14:49
Выделение текста при перемещении (Sandr) Элементы интерфейса 10 13.06.2012 16:07
Смена background у тега div при перезагрузке страницы NAMAT (X)HTML/CSS 1 10.05.2012 18:43
Теряется event при перемещении объекта (Drag&Drop) seagor Events/DOM/Window 16 25.07.2007 01:28