<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FMootools%2FSortable</id>
		<title>JavaScript DHTML/Mootools/Sortable - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FMootools%2FSortable"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Mootools/Sortable&amp;action=history"/>
		<updated>2026-04-04T12:03:17Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Mootools/Sortable&amp;diff=3274&amp;oldid=prev</id>
		<title> в 10:02, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Mootools/Sortable&amp;diff=3274&amp;oldid=prev"/>
				<updated>2010-05-26T10:02:29Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 10:02, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Mootools/Sortable&amp;diff=3275&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Mootools/Sortable&amp;diff=3275&amp;oldid=prev"/>
				<updated>2010-05-26T07:25:36Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Sortables Demo==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
MooTools is released under the Open Source MIT license, &lt;br /&gt;
which gives you the possibility to use it and modify &lt;br /&gt;
it in every circumstance. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;style rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
div.floated {&lt;br /&gt;
  width: 400px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  margin-left: 1em;&lt;br /&gt;
}&lt;br /&gt;
ul.myList {&lt;br /&gt;
  margin-left: 20px;&lt;br /&gt;
}&lt;br /&gt;
ul.myList li {&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
ul.anotherList {&lt;br /&gt;
  width: 200px;&lt;br /&gt;
  float: left;&lt;br /&gt;
  border: 1px solid black;&lt;br /&gt;
  background-color: #f9f9f9;&lt;br /&gt;
  min-height: 20px;&lt;br /&gt;
  margin: 5px;&lt;br /&gt;
  padding-left: 20px;&lt;br /&gt;
}&lt;br /&gt;
ul.anotherList li {&lt;br /&gt;
  margin-left: 10px;&lt;br /&gt;
  list-style-type: decimal;&lt;br /&gt;
}&lt;br /&gt;
ul.anotherList li:hover {&lt;br /&gt;
  background-color: #fff;&lt;br /&gt;
}  &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/style&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;mootools.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
window.addEvent(&amp;quot;domready&amp;quot;, function(){&lt;br /&gt;
  // We autogenerate a list on the fly&lt;br /&gt;
  var li = [];&lt;br /&gt;
  &lt;br /&gt;
  for (i = 1; i &amp;lt;= 5; i++)&lt;br /&gt;
    li.push(new Element(&amp;quot;li&amp;quot;, {&lt;br /&gt;
      text: &amp;quot;Item #&amp;quot;+i&lt;br /&gt;
    }));&lt;br /&gt;
  &lt;br /&gt;
  var ul = new Element(&amp;quot;ul&amp;quot;, {&lt;br /&gt;
    &amp;quot;class&amp;quot;: &amp;quot;myList&amp;quot;&lt;br /&gt;
  }).inject(&amp;quot;sortablesDemo&amp;quot;).adopt(li);&lt;br /&gt;
  &lt;br /&gt;
  // First Example&lt;br /&gt;
  new Sortables(ul);&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  // Second Example&lt;br /&gt;
  &lt;br /&gt;
  // We just clone the list we created before&lt;br /&gt;
  var uls = $$([ul.clone(), ul.clone()])&lt;br /&gt;
  &lt;br /&gt;
  uls[1].getElements(&amp;quot;li&amp;quot;).setStyle(&amp;quot;font-weight&amp;quot;, &amp;quot;bold&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  uls.inject(&amp;quot;anotherSortablesDemo&amp;quot;).addClass(&amp;quot;anotherList&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  new Sortables(uls, {&lt;br /&gt;
    revert: true&lt;br /&gt;
  });&lt;br /&gt;
});  &lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Sortables Demo&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h1&amp;gt;Sortables&amp;lt;/h1&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;&lt;br /&gt;
    Back in the 90s you sorted items in a list with arrows up/down or maybe even&lt;br /&gt;
    with input-fields where you specified the item&amp;quot;s position. But now you have the&lt;br /&gt;
    Sortables-Plugin, which comes in handy when you are using one or more lists&lt;br /&gt;
    and need the user to sort them.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;sortablesDemo&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;hr /&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Advanced Example&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;&lt;br /&gt;
    The advanced example shows, that it is even possible to drag&amp;amp;amp;drop list-elements&lt;br /&gt;
    into another list.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;anotherSortablesDemo&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
     &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==This To Do list is a good example of using Sortables in lists which have items dynamically added==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
MooTools is released under the Open Source MIT license, &lt;br /&gt;
which gives you the possibility to use it and modify &lt;br /&gt;
it in every circumstance. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
#addTask {&lt;br /&gt;
  width: 490px;&lt;br /&gt;
  margin: 10px;&lt;br /&gt;
  background: #efefef;&lt;br /&gt;
  border: 1px solid #a7a7a7;&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
#todo li .drag-handle {&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
  width: 16px;&lt;br /&gt;
  height: 16px;&lt;br /&gt;
  background: url(&amp;quot;move.png&amp;quot;) no-repeat center;&lt;br /&gt;
  float: left;&lt;br /&gt;
  margin-right: 5px;&lt;br /&gt;
}&lt;br /&gt;
#todo {&lt;br /&gt;
  list-style: none;&lt;br /&gt;
  border: 1px solid #ccc;&lt;br /&gt;
  margin: 10px auto 10px auto;&lt;br /&gt;
  width: 75%;&lt;br /&gt;
  padding: 10px 5% 10px 5%;&lt;br /&gt;
}&lt;br /&gt;
#listArea {&lt;br /&gt;
  width: 500px;&lt;br /&gt;
  border: 1px solid #ccc;&lt;br /&gt;
  background: #efefef;&lt;br /&gt;
  margin: 10px;&lt;br /&gt;
}  &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/style&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;mootools.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
window.addEvent(&amp;quot;domready&amp;quot;, function() {&lt;br /&gt;
  //This is the function that will run every time a new item is added or the &lt;br /&gt;
  //list is sorted.&lt;br /&gt;
  var showNewOrder = function() {&lt;br /&gt;
    //This function means we get serialize() to tell us the text of each &lt;br /&gt;
    //element, instead of its ID, which is the default return.&lt;br /&gt;
    var serializeFunction = function(el) { return el.get(&amp;quot;text&amp;quot;); };&lt;br /&gt;
    //We pass our custom function to serialize();&lt;br /&gt;
    var orderTxt = sort.serialize(serializeFunction);&lt;br /&gt;
    //And then we add that text to our page so everyone can see it.&lt;br /&gt;
    $(&amp;quot;data&amp;quot;).set(&amp;quot;text&amp;quot;, orderTxt.join(&amp;quot; &amp;quot;));&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  //This code initalizes the sortable list.&lt;br /&gt;
  var sort = new Sortables(&amp;quot;.todo&amp;quot;, {&lt;br /&gt;
    handle: &amp;quot;.drag-handle&amp;quot;,&lt;br /&gt;
    //This will constrain the list items to the list.&lt;br /&gt;
    constrain: true,&lt;br /&gt;
    //We&amp;quot;ll get to see a nice cloned element when we drag.&lt;br /&gt;
    clone: true,&lt;br /&gt;
    //This function will happen when the user &amp;quot;drops&amp;quot; an item in a new place.&lt;br /&gt;
    onComplete: showNewOrder&lt;br /&gt;
  });&lt;br /&gt;
  //This is the code that makes the text input add list items to the &amp;lt;ul&amp;gt;,&lt;br /&gt;
  //which we then make sortable.&lt;br /&gt;
  var i = 1;&lt;br /&gt;
  $(&amp;quot;addTask&amp;quot;).addEvent(&amp;quot;submit&amp;quot;, function(e) {&lt;br /&gt;
    e.stop();&lt;br /&gt;
    //Get the value of the text input.&lt;br /&gt;
    var val = $(&amp;quot;newTask&amp;quot;).get(&amp;quot;value&amp;quot;);&lt;br /&gt;
    //The code here will execute if the input is empty.&lt;br /&gt;
    if (!val) {&lt;br /&gt;
      $(&amp;quot;newTask&amp;quot;).highlight(&amp;quot;#f00&amp;quot;).focus();  &lt;br /&gt;
      return; //Return will skip the rest of the code in the function. &lt;br /&gt;
    }&lt;br /&gt;
    //Create a new &amp;lt;li&amp;gt; to hold all our content.&lt;br /&gt;
    var li = new Element(&amp;quot;li&amp;quot;, {id: &amp;quot;item-&amp;quot;+i, text:val});&lt;br /&gt;
    //This handle element will serve as the point where the user &amp;quot;picks up&amp;quot;&lt;br /&gt;
    //the draggable element.&lt;br /&gt;
    var handle = new Element(&amp;quot;div&amp;quot;, {id:&amp;quot;handle-&amp;quot;+i, &amp;quot;class&amp;quot;:&amp;quot;drag-handle&amp;quot;});&lt;br /&gt;
    handle.inject(li, &amp;quot;top&amp;quot;);&lt;br /&gt;
    //Set the value of the form to &amp;quot;&amp;quot;, since we&amp;quot;ve added its value to the &amp;lt;li&amp;gt;.&lt;br /&gt;
    $(&amp;quot;newTask&amp;quot;).set(&amp;quot;value&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
    //Add the &amp;lt;li&amp;gt; to our list.&lt;br /&gt;
    $(&amp;quot;todo&amp;quot;).adopt(li);&lt;br /&gt;
    //Do a fancy effect on the &amp;lt;li&amp;gt;.&lt;br /&gt;
    li.highlight();&lt;br /&gt;
    //We have to add the list item to our Sortable object so it&amp;quot;s sortable.&lt;br /&gt;
    sort.addItems(li);&lt;br /&gt;
    //We put the new order inside of the data div.&lt;br /&gt;
    showNewOrder();&lt;br /&gt;
    i++;&lt;br /&gt;
  });&lt;br /&gt;
  &lt;br /&gt;
});  &lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Dynamic Sortables Demo&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h1&amp;gt;Dynamic Sortables&amp;lt;/h1&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;&lt;br /&gt;
    This To Do list is a good example of using Sortables in lists which have items dynamically added.  Notice that on line 47 of the JavaScript file, we make a call to sort.addItems().  It is critical that we call this method on our Sortables object every time we add a new item to the list.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;My To Do List&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;form id=&amp;quot;addTask&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;newTask&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Add Task&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/form&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;listArea&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ol id=&amp;quot;todo&amp;quot;&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;data&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
     &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>