Javascript.RU

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

Исчезает последний элемент массива
Использую JQUERY UI, при перетаскивании элемента drag на div, исчезает последний элемент , хотя должен исчезать после его перетаскивания - каждый элемент, по факту только последний.
Что сделать, чтобы после перетаскивания элемента он исчезал?

<link href="JQ/jquery-ui.css" rel="stylesheet">
<script src="JQ/external/jquery/jquery.js"></script>
<script src="JQ/jquery-ui.js"></script>
<style>
div[id^="drag"]
{background-color: orange;
height: 3rem;
width: 6rem;
display:inline-block;
div[id^="div"]
{padding: 8px;
border: 3px solid #5aff10;
background-color: #23cc3c;
border-radius: 23px;
padding: 18px;
    width: 12rem;
width: 35rem;
</style>

<div id="enlg">
		<div id="drag1">
		 <b>drag1</b>
		</div>
		<div id="drag2">
		<b>drag2</b>
		</div>
		<div id="drag3">
		<b>drag3</b>
		</div>
		</div>
<div id="prepos">
<div id="div1">
Я <b>div1</b>
</div>
<div id="div2">
Я <b>div2</b>
</div>
<div id="div3">
Я <b>div3</b>
</div>
</div>
<script>
$(document).ready(function() {
var drag="#drag";
for(i=1; i<=3;i++){
var a=String(i);
var b="#drag"+a;
var c="#div"+a;
console.log(b+','+c);
$(b).draggable(700);
   $(c).droppable({accept:b,hoverClass:"drags"},{drop:function(){
   $(this).addClass("ui-state-highlight");
     $(this).html("<b>"+'HELLO');
$(b).html('Hello!').hide( 2000);
   }})}});
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2021, 21:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от rita
Что сделать, чтобы после перетаскивания элемента он исчезал?
использовать let вместо var или each вместо for.
почему так читать тут
НЕ срабатывает цикл for
Ответить с цитированием
  #3 (permalink)  
Старый 05.02.2021, 21:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

rita,
Сообщение от рони
each вместо for.
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
    <style>
        div[id^="drag"] {
            background-color: orange;
            height: 3rem;
            width: 6rem;
            display: inline-block;
        }
        div[id^="div"] {
            padding: 8px;
            border: 3px solid #5aff10;
            background-color: #23cc3c;
            border-radius: 23px;
            padding: 18px;
            width: 12rem;
            width: 35rem;
        }
        .drags{
            opacity: .3;
        }

    </style>
    <script>
        $(function() {
            var divsDrag = $("#enlg > div");
            var divsDrop = $("#prepos > div");
            divsDrag.each(function(i, el) {
                $(el).draggable();
                divsDrop.eq(i).droppable({
                    accept: el,
                    hoverClass: "drags",
                    drop: function() {
                        $(this).addClass("ui-state-highlight")
                        .html("<b>" + 'HELLO');
                        $(el).html('Hello!').hide(2000);
                    }
                })
            })
        });
    </script>
</head>
<body>
    <div id="enlg">
        <div id="drag1">
            <b>drag1</b>
        </div>
        <div id="drag2">
            <b>drag2</b>
        </div>
        <div id="drag3">
            <b>drag3</b>
        </div>
    </div>
    <div id="prepos">
        <div id="div1">
            Я <b>div1</b>
        </div>
        <div id="div2">
            Я <b>div2</b>
        </div>
        <div id="div3">
            Я <b>div3</b>
        </div>
    </div>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 13.02.2021, 16:53
Интересующийся
Отправить личное сообщение для rita Посмотреть профиль Найти все сообщения от rita
 
Регистрация: 01.06.2020
Сообщений: 22

Сообщение от рони Посмотреть сообщение
rita,


<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
    <style>
        div[id^="drag"] {
            background-color: orange;
            height: 3rem;
            width: 6rem;
            display: inline-block;
        }
        div[id^="div"] {
            padding: 8px;
            border: 3px solid #5aff10;
            background-color: #23cc3c;
            border-radius: 23px;
            padding: 18px;
            width: 12rem;
            width: 35rem;
        }
        .drags{
            opacity: .3;
        }

    </style>
    <script>
        $(function() {
            var divsDrag = $("#enlg > div");
            var divsDrop = $("#prepos > div");
            divsDrag.each(function(i, el) {
                $(el).draggable();
                divsDrop.eq(i).droppable({
                    accept: el,
                    hoverClass: "drags",
                    drop: function() {
                        $(this).addClass("ui-state-highlight")
                        .html("<b>" + 'HELLO');
                        $(el).html('Hello!').hide(2000);
                    }
                })
            })
        });
    </script>
</head>
<body>
    <div id="enlg">
        <div id="drag1">
            <b>drag1</b>
        </div>
        <div id="drag2">
            <b>drag2</b>
        </div>
        <div id="drag3">
            <b>drag3</b>
        </div>
    </div>
    <div id="prepos">
        <div id="div1">
            Я <b>div1</b>
        </div>
        <div id="div2">
            Я <b>div2</b>
        </div>
        <div id="div3">
            Я <b>div3</b>
        </div>
    </div>
</body>
</html>
Спасибо, это то что нужно.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно добавить/удалить элемент в массив (из массива)? gsdev99 Элементы интерфейса 2 12.02.2019 12:15
Как удалить элемент массива files Greatest_Duke Общие вопросы Javascript 6 05.07.2016 13:09
Последний элемент newbie guy jQuery 10 15.11.2015 22:07
Не удаляется элемент из массива. Blondinka jQuery 8 20.07.2015 10:05
Проблема с наполнением массива объектов - последний элемент заменяет собой все... Джангар AJAX и COMET 5 18.12.2014 22:54