Форум → Программирование → JavaScript → синхронизировать два списка
синхронизировать два списка
Страницы: ← Предыдущая страница • Следующая страница →
-
-
-
22 декабря 2008 г. 22:07, спустя 1 минуту 49 секунд
Ну а нужно сформировать массивы и передать в функцию. Я бы так делал. -
-
22 декабря 2008 г. 22:18, спустя 6 минут 53 секунды
Я имею в виду не на JS массив формировать, это надо быть маньяком, чтобы на JS парсить хтмл и формировать массив. -
-
22 декабря 2008 г. 22:23, спустя 1 минуту 46 секунд
Так бы и сказал, что проблема в формировании массива. Почему нельзя? -
-
22 декабря 2008 г. 23:03, спустя 13 минут 14 секунд
items = {};
items1 = {};
items2 = {};
$list1 = $("#list1");
$list2 = $("#list2");
$list1.children().each(function () {
$this = $(this);
items[$this.attr("id")] = $this;
items1[$this.attr("id")] = $this;
}
$list2.children().each(function () {
$this = $(this);
items[$this.attr("id")] = $this;
items2[$this.attr("id")] = $this;
}
$("#list1,#list2").empty();
for(i in items)
{
items.clone(true).appendTo($list1).addClass(items1 ? "red" : "normal");
items.clone(true).appendTo($list2).addClass(items2 ? "red" : "normal");
}
попробуй, полюбишь
phpdude ©Сапожник без сапог -
22 декабря 2008 г. 23:09, спустя 5 минут 54 секунды
все сделал
<html>
<head>
<title>op1um</title>
<style>
div div {
width:100px;
height:15px;
margin:1px;
background:green;
}
#left, #right{
float:left;
}
.red{
background:red;
}
.blue{
background:blue;
}
</style>
<script src="jquery-1.2.6.js"></script>
<script>
$().ready(function(){
var n = null, r = null, x = 0;
$("#left div").each(function(i,n){
n = $(n).attr("nodeid");
r = $("#right div[nodeid='"+n+"']");
if(!r.length) {
x = $("#right div").eq(i-1).prevAll(".red").length
$("#right div").eq(x+i-1).after("<div nodeid='"+n+"' class='red'></div>")
}
})
$("#right div").each(function(i,n){
n = $(n).attr("nodeid");
r = $("#left div[nodeid='"+n+"']");
if(!r.length) {
$("#left div").eq(i-1).after("<div nodeid='"+n+"' class='red'></div>")
}
})
})
</script>
</head>
<body>
<div id="left">
<div nodeid="e0"></div>
<div nodeid="ea"></div>
<div nodeid="eb"></div>
<div nodeid="e1" class="blue"></div>
<div nodeid="ee" class="blue"></div>
<div nodeid="ef"></div>
<div nodeid="eh"></div>
<div nodeid="ei"></div>
<div nodeid="e2" class="blue"></div>
</div>
<div id="right">
<div nodeid="e0"></div>
<div nodeid="ec"></div>
<div nodeid="ed"></div>
<div nodeid="e1" class="blue"></div>
<div nodeid="ee" class="blue"></div>
<div nodeid="eg"></div>
<div nodeid="ej"></div>
<div nodeid="e2" class="blue"></div>
</div>
</body>
</html> -
22 декабря 2008 г. 23:10, спустя 1 минуту 7 секунд
протесть чей код быстрее) ))) бугогагы адынадын адын
все сделал
<html>
<head>
<title>op1um</title>
<style>
div div {
width:100px;
height:15px;
margin:1px;
background:green;
}
#left, #right{
float:left;
}
.red{
background:red;
}
.blue{
background:blue;
}
</style>
<script src="jquery-1.2.6.js"></script>
<script>
$().ready(function(){
var ids = [], left = [], right = [], x = 0;
$("#left div").each(function(i,n){
n = $(n).attr("nodeid");
r = $("#right div[nodeid='"+n+"']");
if(!r.length) {
x = $("#right div").eq(i-1).prevAll(".red").length
$("#right div").eq(x+i-1).after("<div nodeid='"+n+"' class='red'></div>")
}
})
$("#right div").each(function(i,n){
n = $(n).attr("nodeid");
r = $("#left div[nodeid='"+n+"']");
if(!r.length) {
$("#left div").eq(i-1).after("<div nodeid='"+n+"' class='red'></div>")
}
})
})
</script>
</head>
<body>
<div id="left">
<div nodeid="e0"></div>
<div nodeid="ea"></div>
<div nodeid="eb"></div>
<div nodeid="e1" class="blue"></div>
<div nodeid="ee" class="blue"></div>
<div nodeid="ef"></div>
<div nodeid="eh"></div>
<div nodeid="ei"></div>
<div nodeid="e2" class="blue"></div>
</div>
<div id="right">
<div nodeid="e0"></div>
<div nodeid="ec"></div>
<div nodeid="ed"></div>
<div nodeid="e1" class="blue"></div>
<div nodeid="ee" class="blue"></div>
<div nodeid="eg"></div>
<div nodeid="ej"></div>
<div nodeid="e2" class="blue"></div>
</div>
</body>
</html>Сапожник без сапог -
22 декабря 2008 г. 23:11, спустя 1 минуту
дуд все классно но мне нельзя очищать оба списка((( там ивенты навешены и все такое
ЗЫ 1800 -
22 декабря 2008 г. 23:12, спустя 29 секунд
адын адын? clone(true) почетай)
дуд все классно но мне нельзя очищать оба списка((( там ивенты навешены и все такоеСапожник без сапог -
-
22 декабря 2008 г. 23:16, спустя 1 минуту 13 секунд
я и не дебажил его. я дал идею :) идея верная с виду, ну может парочку синт ошибок или тп допустил, я ж в благноде написал
твой не отработал)))Сапожник без сапог
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!