Ich bin ein Anfänger in jQuery und habe ein Problem mit dem ziehbaren Widget. Es scheint, dass der Selektor die nächste ziehbare Klasse nicht bekommen kann, wenn der "Knopf" angeklickt wird. Die Sache ist, dass ich IDs für den Selektor nicht verwenden kann, weil die Tabelle dynamisch gefüllt ist und die Anzahl der Zeilen variiert. Gibt es eine Möglichkeit, dass ich dies nur durch das Ändern des Javascript lösen kann? Vielen Dank für Ihre Mühe!Wie öffne ich mehrere jquery ui draggables?
CodePen hier: https://codepen.io/Zerberuus/pen/aWENje
HTML:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Draggable - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<table> <THEAD>
<TR>
<TH>col1</TH>
<TH>col2</TH>
<TH>col3</TH>
<TH>col4</TH>
<TH>col5</TH>
\t </TR></THEAD>
<TBODY><TBODY><TR>
<TD>random</TD>
\t <TD>random2</TD>
\t <TD class="press" style="color:blue;">clickhere</TD>
<div class="draggable">
<p>Drag me around</p>
<p>Box 1</p>
</div>
\t <TD class="press" style="color:red;">clickhere2</TD>
<div class="draggable">
<p>Drag me around</p>
<p>Box 2</p>
</div>
\t <TD>random3</TD>
</TR></TBODY></table>
</body>
</html>
JS:
$(document).ready(function(){
$(".draggable").draggable(); //init draggable
$(".draggable").hide(); //hide at first
$(".press").click(function() { // fadeIn the next .draggable class
$(this).next(".draggable:first").fadeIn("slow");
});
}); //end of script
CSS:
.draggable{
position:relative;
width: auto;
height: auto;
padding: 0.5em;
line-height: 0px;
border-radius:25px;
border:1px solid #000000;;
display: inline-block;
background-color: #c1c1c1;
}
@Nemus Bitte fügen Sie kein Snippet nur zum "Formatieren" des HTML ein. Wenn Sie nicht auch das JavaScript und CSS für die ordnungsgemäße Ausführung verwenden, ist das Snippet nutzlos. Snippets sollen lauffähige, in sich geschlossene Möglichkeiten sein, Code-Verhalten zu demonstrieren. –
kann mir jemand mit meinem Problem helfen oder hat eine Alternative zu ziehbaren Sachen? –
Sie haben 'div' Tags zwischen' td's gemischt. Da das illegal ist (ein 'div' kann kein Kind von' tr' sein), werden die 'div's außerhalb der' table' verschoben. Es gibt kein '.next ('. Draggable')', da alle ziehbaren Elemente weggezogen sind. Sie könnten die '.draggable' Objekte zu' td's machen, aber Sie müssen sich mit der Positionierung beschäftigen. –