Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Предлагаю доработать и выложить скрипт в раздел "Примеры Javascript"
 
 автор: codexomega   (01.06.2006 в 23:20)   письмо автору
 
 

Есть тако дело интересное, с таблицами.
Очень полезная между прочим вещь для каталогов продукции, почтовых ящиков и прочего, где требуется вывод элементов в таблицах.
Я написал скрипт, который вы найдёте ниже, в коде.
Конечно, лучше один раз увидеть, чем читать его описание.
Вкратце, что не доработанно:
Когда нажимаешь на главный чекбокс, помимо того что ставятся или убираются галочки - выбираются строки таблицы, надо чтобы эти строки меняли цвет.

Мои познания в яваскрипт ограниченны, так что вроде сделал всё что мог.

Думаю, многим бы готовый скрипт пригодился.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Table Example</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />


<style type="text/css">
.highlight{ background-color: #1E90FF; }
.light{ background-color: #FFFFFF; }
.dark{ background-color: #CCCCCC; }
</style>

<script type="text/javascript">
function checkAll(field){ 
    nb_checked=0; 
    for(n=0;n<field.length;n++){ 
        if(field[n].checked==true) 
            nb_checked++;                 
    } 
    if(nb_checked == field.length){ 
        for (j = 0; j < field.length; j++) 
            field[j].checked = (field[j].checked===true?false:true); 
    } 
    else{ 
        for (j = 0; j < field.length; j++){ 
            field[j].checked = true; 
            document.frm_data.check_all.checked=true; 
        } 
    } 


function colorMe(el)
{
  var chkbox = el;
   
  while(el.tagName != 'TR') { el = el.parentElement; }
  var original_color = el.bgColor;
  if(chkbox.checked)
      el.style.backgroundColor= '#1E90FF';
  else{
      el.style.backgroundColor= original_color;
  }
}

</script>

</head>
<body>
    <div>
        <form name="frm_data" id="frm_data" method="post" action="">
            <table width="100%" border="1" cellpadding="3" cellspacing="0" >
                <tr>
                    <th width="10%" bgcolor="#000066" ><input type="checkbox" name="check_all" value="check_all" onclick="checkAll(document.frm_data.deletelist)"/></th>
                    <th width="40%" bgcolor="#000066" style="color:#FFFFFF">Airplane Name</th>
                    <th width="40%" bgcolor="#000066" style="color:#FFFFFF">Airplane Type</th>
                    </tr>
            </table>
            <div>
                <table class="list" width="100%"  border="1" cellpadding="3" cellspacing="0" >
                      <tr class="light" onMouseOut="this.className='light'" onMouseOver="this.className='highlight'">
                        <td width="10%" align="center" ><input type="checkbox" name="deletelist[1]" id="deletelist" value="" onclick="colorMe(this)"/></td>
                        <td width="40%" align="center">B2-Spirit</td>
                        <td width="40%" align="center">Bomber</td>
                     </tr>
                      <tr class="dark" onMouseOut="this.className='dark'" onMouseOver="this.className='highlight'">
                        <td width="10%" align="center" ><input type="checkbox" name="deletelist[2]" id="deletelist" value="" onclick="colorMe(this)"/></td>
                        <td width="40%" align="center">F15-Eagle</td>
                        <td width="40%" align="center">Fighter</td>
                     </tr>
                      <tr class="light" onMouseOut="this.className='light'" onMouseOver="this.className='highlight'">
                        <td width="10%" align="center" ><input type="checkbox" name="deletelist[3]" id="deletelist" value="" onclick="colorMe(this)"/></td>
                        <td width="40%" align="center">Mig29-Fulcrum</td>
                        <td width="40%" align="center">Fighter</td>
                     </tr>
                 </table>
            </div>
        </form>
    </div>
</body>
</html>


Вознаграждения не обещаю, но народ будет благодарен.

   
 
 автор: 12345   (02.06.2006 в 00:20)   письмо автору
 
   для: codexomega   (01.06.2006 в 23:20)
 

Такой скрипт делают ещё с задержкой выключения цвета строки под курсором, чтобы по таблице пробегал шлейф. И чекбокс выбирается по клику на любой точке строки.

Интересно, что в FF/Opera это можно сделать стилем, а в IE - стилем с behavior.

Вот пример без behavior, недоделанный для IE:
<style>td:active{background-color:red;}tr:hover{background-color:darkred;}</style>
<script>chk=function(e,t){tg=document.all?e.srcElement:e.target;
  if(tg.tagName!='INPUT')t.firstChild.firstChild.checked=!t.firstChild.firstChild.checked;
  if(t.firstChild.firstChild.checked)t.style.backgroundColor='blue';else t.style.backgroundColor='';
  }</script>
<table border=1 width=100% cellspacing=0>
<tr onclick=chk(event,this)><td><input type=checkbox>+++</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox>+++</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox>+++</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox>+++</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox>+++</td></tr>
</table>

   
 
 автор: codexomega   (02.06.2006 в 01:50)   письмо автору
 
   для: 12345   (02.06.2006 в 00:20)
 

Жаль что IE не поддерживает hover.
А идея с выбором чекбокса по клику в любом месте строки, мне нравится.
Да, и ещё, оказывается я зря отлавливал изначальный цвет строки в моей функции colorMe(), когда оказалось надо просто сделать так: style.backgroundColor='', чтобы к нему вернуться.

   
 
 автор: codexomega   (02.06.2006 в 02:27)   письмо автору
3 Кб
 
   для: codexomega   (02.06.2006 в 01:50)
 

Вот пока улучшенный код, который работает везде.
С главным чекбоксом, который отвечает за выделение всех остальных, разобраться не могу.

----------------------
Добавленно позже:

В мАзиле аномалии.
Не хочет выбираться чекбокс при клике на строку.
Это в том случае, если я оставлю в теге <tr>:
onmouseover() & onmouseout() & onclick().
В общем - тупик.
Все ругали IE, а оказывается кривее браузера чем FF никогда в истории и не было. Даже хуже умершего Netscape.

   
 
 автор: codexomega   (02.06.2006 в 08:12)   письмо автору
 
   для: codexomega   (02.06.2006 в 02:27)
 

Посмотрите функию, недоработанную, пожалуйста

function checkAll(field){ 
    nb_checked=0; 
    for(n=0;n<field.length;n++){ 
        if(field[n].checked==true) 
            nb_checked++;                 
    } 
    if(nb_checked == field.length){ 
        for (j = 0; j < field.length; j++){ 
            field[j].checked = (field[j].checked===true?false:true); 
                 field[j].style.backgroundColor=(field[j].backgroundColor===''?'#1E90FF':'');
        }
    } 
    else{ 
        for (j = 0; j < field.length; j++){ 
            field[j].checked = true; 
            field[j].style.backgroundColor='#1E90FF';
            document.frm_data.check_all.checked=true; 
        } 
    } 


   
 
 автор: coloboc66   (02.06.2006 в 09:10)   письмо автору
 
   для: codexomega   (02.06.2006 в 08:12)
 

Хороший скриптик, вот если б к нему еще скрипт обработки на серверной стороне...

   
 
 автор: codexomega   (02.06.2006 в 17:24)   письмо автору
 
   для: coloboc66   (02.06.2006 в 09:10)
 

>Хороший скриптик, вот если б к нему еще скрипт обработки на серверной стороне...
А что именно вы хотели бы видеть?

   
 
 автор: coloboc66   (02.06.2006 в 17:33)   письмо автору
 
   для: codexomega   (02.06.2006 в 17:24)
 

Ну как что? Этот скрипт на клиентской стороне собирает данные по желаемому (предположим) товару, а РНР-скрипт должен эти данные обработать и, к примеру, послать на основании обработанных данных уведомление о заказе продавцу и (или) покупателю. Просто пример РНР-кода- основные функции.

   
 
 автор: codexomega   (02.06.2006 в 17:49)   письмо автору
3.2 Кб
 
   для: coloboc66   (02.06.2006 в 17:33)
 

...
Ну не знаю. Скажу как он у меня родился, этот скрипт.
Начал я создавать свой, скажем типа организатор, каталог домашней библиотеки, интернет-ссылок, видео, музыки.
Данные брались из Базы Данных, и отображались, для удобства в таблице.
Сначала в таблицe ничего не было, кроме заголовков и списка данных.
Затем, постепенно, я приступил к её улучшению, для удобства пользования.
Добавил слева колонку с чекбоксами, чтобы можно было или удалять выбранные данные, или обновлять. Не представляете сколько времени у меня ушло тогда на поиск, и написание скрипта отвечающего за выделение строк.
Следующим этапом, была сортировка данных, при клике на заголовок таблицы.
Затем, я подумал что недостаёт цвета. Ну, знаете, как модно сейчас, при выводе данных, идёт альтернация цвета строк - серый-белый-серый.
Потом пошло выделение цветом строки при наведении на неё курсора мыши.
И последнее, это то к чему я сейчас подошёл, т.е выделение цветом строк, если поставленна галочка.

Думаю пока надо ограничиться простой таблицей в HTML & Javascript.
Серверная часть не так сложна.
Но позже, можно будет добавить и её.

-------------------------
Всё, я сумел разобраться с главным чекбоксом.
Тепрь, когда на него нажимаешь, выбираются и закрашиваются все строки в таблице.
Смотрите скрипт в атаче.

   
 
 автор: 12345   (02.06.2006 в 19:08)   письмо автору
 
   для: codexomega   (02.06.2006 в 17:49)
 

Сделал и свою версию "Выделить/снять всё". Код *.htc не изменился, код основной страницы:

<style>
    td:active{background-color:red;}tr:hover{background-color:darkred;} /*для FF, Opera*/
    tr{behavior:url(JsPrimeryCode-84.htc)}
    .hovered{background-color:darkred;}.pressed1{background-color:red;}/*для IE*/
</style>
<script>chk=function(e,t){tg=document.all?e.srcElement:e.target;
  if(tg.tagName!='INPUT')t.firstChild.firstChild.checked=!t.firstChild.firstChild.checked;
  if(t.firstChild.firstChild.checked)t.style.backgroundColor='blue';else t.style.backgroundColor='';
  }
chkAll=function(e,t){chk(e,t);
    Al=document.getElementsByName('chk[]');
    tg=t.firstChild.firstChild;
    //alert(Al[0].parentNode.parentNode.tagName)
    for(i=0;i<Al.length;i++){Al[i].checked=tg.checked;Al[i].parentNode.parentNode.style.backgroundColor=tg.checked?'blue':'';}
}
</script>
<table border=1 width=100% cellspacing=0>
<tr onclick=chkAll(event,this)><td><input type=checkbox>выделить/снять все</td><td>*</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox name=chk[]>+++</td><td>*</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox name=chk[]>+++</td><td>*</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox name=chk[]>+++</td><td>*</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox name=chk[]>+++</td><td>*</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox name=chk[]>+++</td><td>*</td></tr>
</table>
А совсем грамотно будет, если имена цветов полностью убрать из скрипта, сделать управление классами, цвета которых будут в стилях.

А вот вариант на классах. Изменились оба файла:
<b>Таблица с выделением строк и чекбоксов на ней, реализованная с помощью behavior для IE и :hover для FF/Opera.<br>
<br>
<style>
    td:active{background-color:red;}tr:hover{background-color:darkred;} /*для FF, Opera*/
    tr{behavior:url(JsPrimeryCode-84.htc)}
    .hovered{background-color:darkred;}.pressed1{background-color:red;}/*для IE*/
    .selected1{background-color:blue;}
</style>
<script>chk=function(e,t){tg=document.all?e.srcElement:e.target;
  if(tg.tagName!='INPUT')t.firstChild.firstChild.checked=!t.firstChild.firstChild.checked;
  t.className=t.firstChild.firstChild.checked?'selected1':'';
  }
chkAll=function(e,t){chk(e,t);
    Al=document.getElementsByName('chk[]');
    tg=t.firstChild.firstChild;
    //alert(Al[0].parentNode.parentNode.tagName)
    for(i=0;i<Al.length;i++){Al[i].checked=tg.checked;
    Al[i].parentNode.parentNode.className=t.firstChild.firstChild.checked?'selected1':'';}
}
</script>
<table border=1 width=100% cellspacing=0>
<tr onclick=chkAll(event,this)><td><input type=checkbox onc lick=chkAll(this)>выделить/снять все</td><td>*</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox name=chk[]>+++</td><td>*</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox name=chk[]>+++</td><td>*</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox name=chk[]>+++</td><td>*</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox name=chk[]>+++</td><td>*</td></tr>
<tr onclick=chk(event,this)><td><input type=checkbox name=chk[]>+++</td><td>*</td></tr>
</table>

Файл JsPrimeryCode-84.htc:
<attach for=element event=onmouseover handler=hig_light>
<attach for=element event=onmouseout handler=low_light>
<attach for=element event=onmousedown handler=hig_light_press>
<attach for=element event=onmouseup handler=low_light>
<script>
function hig_light(){element.className='hovered';}
function hig_light_press(){element.className='pressed1';}
function low_light(){element.className=element.firstChild.firstChild.checked?'selected1':'';}
</script>
Можно, конечно, обойтись без behavior-файла и сделать IE или всё вместе на скрипте. Но тут показан некий концептуальный подход: подсветка через стили.
Исправленный пример смотреть по той же ссылке:

   
 
 автор: codexomega   (02.06.2006 в 19:20)   письмо автору
 
   для: 12345   (02.06.2006 в 19:08)
 

>А совсем грамотно будет, если имена цветов полностью убрать из скрипта, сделать управление классами

Да, это так.
Я пробовал так сделать, но не помню почему не получилось применить className.
А .htc, или behavior, он будет везде работать, ну имеется в виду в старых браузерах? Раньше просто такого не встречал, не знал о существовании.

   
 
 автор: 12345   (02.06.2006 в 19:34)   письмо автору
 
   для: codexomega   (02.06.2006 в 19:20)
 

Про версию IE, поддерживающую behavior, не интересовался, зто должно лежать на MSDN.

Да, и далее для сокращения кода можно "tr onclick=chk(event,this)" унести в обработчик прерывания таблицы или документа.

   
 
 автор: codexomega   (02.06.2006 в 20:04)   письмо автору
 
   для: 12345   (02.06.2006 в 19:34)
 

C behavior порядок.
Он появился с версией 5.5 IE.
Что касается оптимизации кода, то вы в этом деле специалист и лучше знаете.
Единственное, прежде чем выклдадывать скрипт, я думаю, останется только навести эстетическую красоту. Проставить кавычки, там где надо, индентацию, итд. Это для удобства понимания скрипта.

Ну вот.
Вроде как он закончен?

   
 
 автор: 12345   (02.06.2006 в 20:39)   письмо автору
 
   для: codexomega   (02.06.2006 в 20:04)
 

Я бы сначала вынес в обработчик функцию onclick, а кавычки ставить - это ухудшает чтение для человека и совершенно всё равно для парсера браузера. Для себя я этот скрипт уже написал, позже, возможно, напишу статью и доработаю до обработчика. Бывает ещё задача выделять часть строки таким же образом; решал месяца 2 назад через классы ячеек.

   
 
 автор: codexomega   (02.06.2006 в 21:10)   письмо автору
 
   для: 12345   (02.06.2006 в 20:39)
 

Ну, если у вас уже есть готовый скрипт, да ещё и статья готовится,
тогда вообще замечательно.

   
 
 автор: 12345   (02.06.2006 в 21:53)   письмо автору
 
   для: codexomega   (02.06.2006 в 21:10)
 

Да идея статьи определилась вашим постом. Часов 8-10 нужно, чтобы собрать данные и дописать что надо. А готовый скрипт где-то на другом форуме, если поискать Вот он:

   
 
 автор: 12345   (02.06.2006 в 14:05)   письмо автору
 
   для: codexomega   (02.06.2006 в 02:27)
 

> Все ругали IE, а оказывается кривее браузера чем FF никогда в истории и не было.

Те, кто отлаживает вначале в Firefox, говорит про IE аналогичное :))

Вот, дописал behavior для IE. Получился основной код:
<b>Таблица с выделением строк и чекбоксов на ней, реализованная с помощью behavior для IE и :hover для FF/Opera.<br>
<br>
<style>
    td:active{background-color:red;}tr:hover{background-color:darkred;} /*для FF, Opera*/
< Дополненный код см. в сообщении ниже или в коде страницы примера. >


Содержимое файла JsPrimeryCode-84.htc :
<attach for=element event=onmouseover handler=hig_light>
<attach for=element event=onmouseout handler=low_light>
<attach for=element event=onmousedown handler=hig_light_press>
<attach for=element event=onmouseup handler=low_light>
<script>
function hig_light(){element.className='hovered';}
function hig_light_press(){element.className='pressed1';}
function low_light(){element.className='';}
</script>

Пример смотреть в http://example.javascript.aho.ru/JsPrimeryCode-84.htm

Codexomega: посмотреть ваш код не могу, извините, некогда.

   
 
 автор: Бог Зайцев   (03.06.2006 в 11:30)   письмо автору
 
   для: codexomega   (01.06.2006 в 23:20)
 

Ну хзхз )) Я бы табличку тоже скриптом генерировал, так с ней работать проще ))

   
 
 автор: 12345   (03.06.2006 в 14:27)   письмо автору
 
   для: Бог Зайцев   (03.06.2006 в 11:30)
 

Конечно, но примешивать в пример ещё скрипт генерации - будет слишком :)

Хотя ради примера можно большую таблицу загенерировать.

   
 
 автор: Бог Зайцев   (03.06.2006 в 14:56)   письмо автору
 
   для: codexomega   (01.06.2006 в 23:20)
 

Накатал свой вариант, сегодня вечером если найду время закомментирую и приведу в нормальный вид :)))

Позволяет подсвечивать по своему при наведении уже выбранные поля, все выделяется и снимается как надо работает во всех браузерах, есть порблемка с мозилой, т.к. при обновлении галки не сбрасываются, править одной строчкой, если надо вообще ))))

<script>
var t='<form name = "qform" action = blabla><table id = "qtable" >';
var i= 0;
var c=0;
var trs=new Array();


function add_tr(txt,clss)
{
 i++;
 t+='<tr onmouseover = "this.className=this.className.replace(\'n\',\'o\')"  onmouseout = 

"this.className=this.className.replace(\'o\',\'n\')" colorthis = 1 id = "qe'+i+'" class = "en'+(i%2)+'">' + (i==1?'<td     

style ="width:0"><input   type = "checkbox" onclick = "ch_all(this)" border= 10 id = "s_all">':'<td ><input onclick = "r_ch

(qe'+i+')"  type = "checkbox" name = "v[]" id = "chbx'+i+'" >');
trs[i]='qe'+i;
for(e in txt)
{
 onc='onclick = "document.forms[\'qform\'].elements['+(i-1)+'].checked=(document.forms[\'qform\'].elements['+(i-1)

+'].checked?false:true);r_ch(qe'+i+')"';
    t+='<td '+(i>1?onc:'')+' id = "t_id'+i+'_'+e+'" class = "td_'+e+'_'+(i%2)+'" nextclass>'
    +txt[e];
}
}

add_tr(['B2-Spirit','Bomber'])
add_tr(['B2-Spirit','Bomber'])
add_tr(['B2-Spirit','Bomber'])
add_tr(['B2-Spirit','Bombesr'])
add_tr(['B2-Spirit','Bomber'])
add_tr(['B2-Spirit','Bomber'])
add_tr(['B2-Spirit','Bomber'])
add_tr(['B2-Spirit','Bomber'])
t+='</table></form>';
document.write(t)

function r_ch(tr_id,act)
{
    tr_id.className=tr_id.className.replace('e','f').replace('f',act||(tr_id.className.substr(0,1)=='e'?'f':'e'));
    if(act) return 1;
    c=(tr_id.className.substr(0,1)=='f'?c+1:c-1)
    document.forms['qform'].s_all.checked=i==(c+1)
}
function ch_all(ch_id)
{
    k=i!=(c+1);
    ch_id.checked=k

    for(e=1;e<i+1;e++)  
    {
        tr=document.getElementById(trs[e]);
        tr.className=tr.className.replace('e','f').replace('f',(k?'f':'e'));
        chb=document.forms['qform'].elements[e];
        if(chb)
        {
            c+=(k-chb.checked);
            chb.checked=k;
        }
    }
}


</script>
<style>
td{padding:2;font-family:verdana;font-size:11;        }
#qtable{border-collapse: collapse;width:100%;}
#t_id1_0{color:white;font-weight:bold;}
#t_id1_1{color:white;font-weight:bold;}
#qe1{background-color:maroon} /* Красим заголовок */
.en1{background-color:dddddd} /* Красим нечетные ячейки */
.en0{background-color:aaaaaa} /* Красим нечетные ячейки */
.fo1,.fn1,.eo1{background-color:dddd00} /* Красим нечетные ячейки */
.fo0,.fn0,.eo0{background-color:aaaa00} /* Красим нечетные ячейки */


.td_0_0,.td_0_1{width:34%} /* устанавливаем размеры и свойства ячеек в первом столбце */
.td_1_0,.td_1_1{width:60%} /* устанавливаем размеры и свойства ячеек во втором столбце */
</style>
 

как-то так )

   
 
 автор: 12345   (03.06.2006 в 17:13)   письмо автору
 
   для: Бог Зайцев   (03.06.2006 в 14:56)
 

Уже интересно, 3 варианта :). Авторы, не возражаете, если я размещу их в своей статье в разделе примеров? Статья выйдет в рассылке, примеры будут на сайте в работоспособном виде. Примерно как статья этой рассылки: http://subscribe.ru/archive/inet.webbuild.javascript12345/200605/19060746.html. Скажите тогда, куда ссылаться как на авторов, и оформлю. Сегодня-завтра напишу и позадаю здесь вопросы, если правки потребуются.

Пример статьи на сайте, и в ней - ссылки на страницу примеров к статье:

   
 
 автор: codexomega   (03.06.2006 в 17:22)   письмо автору
 
   для: 12345   (03.06.2006 в 17:13)
 

Конечно, чем больше полезных скриптов будет в сети, тем лучше.
Было бы отлично разместить ваши скрипты, ну ещё лучше и статью к ним, дополнительно и на этом сайте, в раздел статьи и примеры скриптов.

   
 
 автор: 12345   (03.06.2006 в 17:43)   письмо автору
 
   для: codexomega   (03.06.2006 в 17:22)
 

Про копирование статьи, думаю, договоримся с Cheops-ом. :)

   
 
 автор: cheops   (03.06.2006 в 22:22)   письмо автору
 
   для: 12345   (03.06.2006 в 17:13)
 

Хм... а может её и у нас разместить (а то у нас статей по дизайну мало :), можем сослаться на вашу рассылку как на источник.

   
 
 автор: 12345   (03.06.2006 в 22:39)   письмо автору
 
   для: cheops   (03.06.2006 в 22:22)
 

Cheops: да мы о том же. Только это не по дизайну, а по скриптовой автоматике. Думаю так: напишу сегодня, размещу завтра, и тут же отправлю вам письмо со ссылкой и текстом статьи.

   
 
 автор: cheops   (04.06.2006 в 10:35)   письмо автору
 
   для: 12345   (03.06.2006 в 22:39)
 

Вообще говоря да, не сообразил сразу её нужно в обычные статьи - так как там уже имеется статья Crux по JavaScript - наберётся штуки три - организуем новый раздел.

   
 
 автор: 12345   (06.06.2006 в 11:40)   письмо автору
 
   для: Бог Зайцев   (03.06.2006 в 14:56)
 

Бог Зайцев Ваш скрипт не работает. Если хотите - отладьте и прокомментируйте его, чтобы опубликовать в обзоре вариантов подсветок строк в таблице. Анонс я подготовил для своей, а подробное рассмотрение планирую в следующем выпуске. (В текущем, который выйдет сегодня-завтра, объёмная статья на другую тему.

   
 
 автор: Бог Зайцев   (06.06.2006 в 12:03)   письмо автору
 
   для: 12345   (06.06.2006 в 11:40)
 

Код рабочий, просто при копировании сюда появились какие-то левые переносы строк, а я не уследил )

К вечеру закомментирую )

   
 
 автор: 12345   (06.06.2006 в 12:29)   письмо автору
 
   для: Бог Зайцев   (06.06.2006 в 12:03)
 

Первое из ошибок, что заметил, была замена одиночной кавычки на двойную. Исправление не помогло.

А прокомментировать на несколько строк? Достоинства метода генерации, возможные модификации (на словах)? Чтобы в статью включить от вашего имени. Или давайте совместно напишем, всё равно ставить в статьи в одно место.

   
 
 автор: Бог Зайцев   (06.06.2006 в 17:52)   письмо автору
 
   для: 12345   (06.06.2006 в 12:29)
 

>Первое из ошибок, что заметил, была замена одиночной кавычки
>на двойную. Исправление не помогло.

Возможно потому что нету там ошибки :)

>А прокомментировать на несколько строк? Достоинства метода
>генерации, возможные модификации (на словах)? Чтобы в статью
>включить от вашего имени. Или давайте совместно напишем, всё
>равно ставить в статьи в одно место.

Можно связаться с тобой по ICQ ?-)

upd, добавил файл)

   
 
 автор: 12345   (06.06.2006 в 22:29)   письмо автору
 
   для: Бог Зайцев   (06.06.2006 в 17:52)
 

А по Скайпу пойдёт? Потому что Аська на работе отключена. Из дома можно, но поздно бывает.

Файл посмотрю позже, а пока публикую свою часть статьи в течение ближайшего часа. Причём это не полноценная статья, а анонс, заинтересовывание читателей темой до следующего выпуска. Который надо сделать побыстрее, дня через 2-3. А вот как пойдёт основная часть статьи, там сравним подходы и методы на 3-4 примерах. У тебя, значит, на генерации кодов, у меня на стилях, а у codexomega - традиционные скрипты (самый гибкий вариант).

   
 
 автор: Бог Зайцев   (06.06.2006 в 22:58)   письмо автору
 
   для: 12345   (06.06.2006 в 22:29)
 

Мм )) У меня как раз упор идет на css )
Генерация табличек идет дополнительной фишкой )))

Скайп попробую скачать, там можно текстом обойтись ? -)

   
 
 автор: 12345   (06.06.2006 в 23:32)   письмо автору
 
   для: Бог Зайцев   (06.06.2006 в 22:58)
 

Да, можно. А ставится проще, так как сам находит, как пробиться в сеть. Но я сейчас прервусь в сидении за компом, на час-1.5. Рассылку выпустил, прямая ссылка на статью - http://javascript.aho.ru/subs/subs008.shtml. Там львиную долю занимает другая статья, а эта - скромненько в конце.

СSS - ну и ладно, у меня есть ещё вариант на выделении частей строки в таблице :) (по классам ячеек). Генерацию тоже важно прикрутить - возможность загрузки из БД.

   
 
 автор: codexomega   (12.06.2006 в 07:37)   письмо автору
 
   для: 12345   (06.06.2006 в 23:32)
 

Моя исправленная версия, которая теперь работает в FireFox, в атаче ->

   
 
 автор: Бог Зайцев   (12.06.2006 в 08:26)   письмо автору
 
   для: codexomega   (12.06.2006 в 07:37)
 

Все ок, только обрати внимание, что в FF при обновлении галки остаются, а цвета сбрасываются ))

   
 
 автор: Бог Зайцев   (13.06.2006 в 14:12)   письмо автору
 
   для: Бог Зайцев   (12.06.2006 в 08:26)
 

Вот последняя версия скрипта, теперь позволят делать несколькоуровневые таблички :)

   
 
 автор: 12345   (13.06.2006 в 14:51)   письмо автору
 
   для: Бог Зайцев   (13.06.2006 в 14:12)
 

Я дописываю обещанную статью, в которой будут рассмотрены все 4 примера с демонстрациями и даны слова пояснений к методам написания. ссылку вскоре дам в момент публикации в рассылке, а затем будет вопрос к Cheops-у о том, как перенести статью в "тезаурус" статей форума.

   
 
 автор: 12345   (14.06.2006 в 03:13)   письмо автору
 
   для: 12345   (13.06.2006 в 14:51)
 

Вторая часть статьи, содержащая последние 3 рассмотренных здесь примера, выложена по адресу http://javascript.aho.ru/subs/subs009.shtml , выпущена рассылка. Совместно с 1-й частью статьи, лежащей внизу на странице http://javascript.aho.ru/subs/subs008.shtml#part2 , она составляет всю статью, написанную по данной теме. Мы (авторы) готовы её опубликовать на софттайме, скажите, куда идти и что подписывать :).

К статье имеются 2 страницы с 4 примерами (демонстрациями); чтобы не искать ссылки в статьях, приведу их здесь.
http://javascript.aho.ru/subs/subs008xmp.shtml#part5
http://javascript.aho.ru/subs/subs009xmp.shtml

   
 
 автор: 12345   (20.06.2006 в 08:21)   письмо автору
 
   для: 12345   (14.06.2006 в 03:13)
 

Все молчок?
Cheops, публиковать ха софттайме будем?

   
 
 автор: cheops   (20.06.2006 в 11:18)   письмо автору
 
   для: 12345   (20.06.2006 в 08:21)
 

Уже можно? :))) Давайте публиковать, а каков список авторов и их ФИО?

   
 
 автор: 12345   (21.06.2006 в 11:36)   письмо автору
 
   для: cheops   (20.06.2006 в 11:18)
 

Ответил. Ждём других. ;)

Chеопс: Надо ли редактировать, или ты цам соединишь 2 стaтьи и 2 страницы примеров?

   
 
 автор: cheops   (21.06.2006 в 11:56)   письмо автору
 
   для: 12345   (21.06.2006 в 11:36)
 

Я объеденю их... А вы мне письмо отправляли с ФИО? Что-то ничего не получил...

   
 
 автор: 12345   (22.06.2006 в 10:49)   письмо автору
 
   для: cheops   (21.06.2006 в 11:56)
 

Otpravil, tot samyj adres, chto v profile. Povtoril sejchas.

   
 
 автор: Бог Зайцев   (21.06.2006 в 13:14)   письмо автору
 
   для: cheops   (20.06.2006 в 11:18)
 

Как с тобой можно связаться / куда скинуть инфу ?)

   
 
 автор: cheops   (22.06.2006 в 00:39)   письмо автору
 
   для: Бог Зайцев   (21.06.2006 в 13:14)
 

Информацию можно скинуть на simdyanov @ softtime.ru

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования