Сортировка данных в таблице. Как сделать? - Страница 2 - Скрипты и коды для юкоз - Форум аццкого кодера
Фильтр по:
  

Страница 2 из 2«12
Модератор форума: likbezz 
Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать? Информация для вновь прибывших » Как сделать... » Сортировка данных в таблице. Как сделать? (Варианты решения при помощи JavaScript)
Сортировка данных в таблице. Как сделать?
Дата: Суббота, 04.02.2012, 00:02 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9095
Награды: 23
Репутация: 457
Статус: Unknown


Добрый,
Quote (Добрый)
Пользователь добавил материал онлайн игры (+3 очка за победу, умножается) соперник подтвердил результат (добавил материал блог -1 очко отнимается) пусть будет в таблице только они, между ими кто выиграл занимает 1-е место, а кто подтвердил соответственно второе. Вот как вывести соперника место(которое он занимает) в его личку ???

Сомневаюсь что-то, что это реально вывести операторами.
Операторы выводят только материалы пользователя данного профиля.
... ...


 
Дата: Четверг, 22.03.2012, 07:20 |
skriptu
Сержант
Группа: Проверенные
Сообщений: 38
Награды: 0
Репутация: 0
Статус: Offline


Может я не в той теме пишу но это вроде похожая тема !!!
Вопрос таков : Как мне сделать в блоге сортировку материалов по рейтингу ??? sad
Сайт на ucoz.


 
Дата: Четверг, 22.03.2012, 12:09 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9095
Награды: 23
Репутация: 457
Статус: Unknown


skriptu,
Quote (skriptu)
Может я не в той теме пишу но это вроде похожая тема !!!
Вопрос таков : Как мне сделать в блоге сортировку материалов по рейтингу ???

Помогите не могу изменить сортировку материалов !!!!
...


 
Дата: Вторник, 14.07.2015, 15:55 |
KamPod
Рядовой
Группа: Зарегистрированные
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline


Сделал как было указано в посте №2:
- скопировал код таблицы (пример) и вставил на страницу http://kampod.at.ua/index/proba/0-109
- там же скопировал полностью скрипт
- в коде изменил значение адреса папки куда залил стрелки http://kampod.at.ua/img/0.gif и http://kampod.at.ua/img/1.gif . В коде после исправления получилось:
var img_dir = "/img/"; /* папка с картинками */
- вставил стили таблицы в CSS сайта

Результата:
- появилась рамка на таблице (стили)
- при наведении на шапку курсор меняет вид на палец
Нет: - нет стрелок вверх вниз и нет сортировки!!!
Подскажите пожалуйста что не так?


 
Дата: Вторник, 14.07.2015, 17:04 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9095
Награды: 23
Репутация: 457
Статус: Unknown


KamPod,
Цитата KamPod, Вт, 14.07.2015, 15:55:48
- там же скопировал полностью скрипт

Как вы его скопировали?!

а где теги <script> ..

Вот так надо:
Код
<script type="text/javascript">
/*
originally written by paul sowden <paul@idontsmoke.co.uk> | http://idontsmoke.co.uk
modified and localized by alexander shurkayev <alshur@ya.ru> | http://htmlcssjs.ru
*/
var img_dir = "/_source/_ico/2011/01/"; /* папка с картинками */
var sort_case_sensitive = false; /* вид сортировки (регистрозависимый или нет) */
/* ф-ция, определяющая алгоритм сортировки */
function _sort(a, b) {
             var a = a[0];
             var b = b[0];
             var _a = (a + '').replace(/,/, '.');
             var _b = (b + '').replace(/,/, '.');
             if (parseFloat(_a) && parseFloat(_b)) return sort_numbers(parseFloat(_a), parseFloat(_b));
             else if (!sort_case_sensitive) return sort_insensitive(a, b);
             else return sort_sensitive(a, b);
};
/* ф-ция сортировки чисел */
function sort_numbers(a, b) {
             return a - b;
};
/* ф-ция регистронезависимой сортировки */
function sort_insensitive(a, b) {
             var anew = a.toLowerCase();
             var bnew = b.toLowerCase();
             if (anew < bnew) return -1;
             if (anew > bnew) return 1;
             return 0;
};
/* ф-ция регистрозависимой сортировки */
function sort_sensitive(a, b) {
             if (a < b) return -1;
             if (a > b) return 1;
             return 0;
};
/* вспомогательная ф-ция, выдирающая из дочерних узлов весь текст */
function getConcatenedTextContent(node) {
             var _result = "";
             if (node == null) {
                 return _result;
             }
             var childrens = node.childNodes;
             var i = 0;
             while (i < childrens.length) {
                 var child = childrens.item(i);
                 switch (child.nodeType) {
                     case 1: /* ELEMENT_NODE */
                     case 5: /* ENTITY_REFERENCE_NODE */
                         _result += getConcatenedTextContent(child);
                         break;
                     case 3: /* TEXT_NODE */
                     case 2: /* ATTRIBUTE_NODE */
                     case 4: /* CDATA_SECTION_NODE */
                         _result += child.nodeValue;
                         break;
                     case 6: /* ENTITY_NODE */
                     case 7: /* PROCESSING_INSTRUCTION_NODE */
                     case 8: /* COMMENT_NODE */
                     case 9: /* DOCUMENT_NODE */
                     case 10: /* DOCUMENT_TYPE_NODE */
                     case 11: /* DOCUMENT_FRAGMENT_NODE */
                     case 12: /* NOTATION_NODE */
                     /* skip */
                     break;
                 }
                 i++;
             }
             return _result;
};
/* суть скрипта */
function sort(e) {
             var el = window.event ? window.event.srcElement : e.currentTarget;
             while (el.tagName.toLowerCase() != "td") el = el.parentNode;
             var a = new Array();
             var name = el.lastChild.nodeValue;
             var dad = el.parentNode;
             var table = dad.parentNode.parentNode;
             var up = table.up;
             var node, arrow, curcol;
             for (var i = 0; (node = dad.getElementsByTagName("td").item(i)); i++) {
                 if (node.lastChild.nodeValue == name){
                     curcol = i;
                     if (node.className == "curcol"){
                         arrow = node.firstChild;
                         table.up = Number(!up);
                     }else{
                         node.className = "curcol";
                         arrow = node.insertBefore(document.createElement("img"),node.firstChild);
                         table.up = 0;
                     }
                     arrow.src = img_dir + table.up + ".gif";
                     arrow.alt = "";
                 }else{
                     if (node.className == "curcol"){
                         node.className = "";
                         if (node.firstChild) node.removeChild(node.firstChild);
                     }
                 }
             }
             var tbody = table.getElementsByTagName("tbody").item(0);
             for (var i = 0; (node = tbody.getElementsByTagName("tr").item(i)); i++) {
                 a[i] = new Array();
                 a[i][0] = getConcatenedTextContent(node.getElementsByTagName("td").item(curcol));
                 a[i][1] = getConcatenedTextContent(node.getElementsByTagName("td").item(1));
                 a[i][2] = getConcatenedTextContent(node.getElementsByTagName("td").item(0));
                 a[i][3] = node;
             }
             a.sort(_sort);
             if (table.up) a.reverse();
             for (var i = 0; i < a.length; i++) {
                 tbody.appendChild(a[i][3]);
             }
};
/* ф-ция инициализации всего процесса */
function init(e) {
             if (!document.getElementsByTagName) return;

             for (var j = 0; (thead = document.getElementsByTagName("thead").item(j)); j++) {
                 var node;
                 for (var i = 0; (node = thead.getElementsByTagName("td").item(i)); i++) {
                     if (node.addEventListener) node.addEventListener("click", sort, false);
                     else if (node.attachEvent) node.attachEvent("onclick", sort);
                     node.title = "Нажмите на заголовок, чтобы отсортировать колонку";
                 }
                 thead.parentNode.up = 0;
                          
                 if (typeof(initial_sort_id) != "undefined"){
                     td_for_event = thead.getElementsByTagName("td").item(initial_sort_id);
                     if (document.createEvent){
                         var evt = document.createEvent("MouseEvents");
                         evt.initMouseEvent("click", false, false, window, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, td_for_event);
                         td_for_event.dispatchEvent(evt);
                     } else if (td_for_event.fireEvent) td_for_event.fireEvent("onclick");
                     if (typeof(initial_sort_up) != "undefined" && initial_sort_up){
                         if (td_for_event.dispatchEvent) td_for_event.dispatchEvent(evt);
                         else if (td_for_event.fireEvent) td_for_event.fireEvent("onclick");
                     }
                 }
             }
};

/* запускаем ф-цию init() при возникновении события load */
var root = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null;
if (root){
             if (root.addEventListener) root.addEventListener("load", init, false);
             else if (root.attachEvent) root.attachEvent("onload", init);
}
</script>

А еще лучше, вот так:
Код
<script type="text/javascript" src="http://likbezz.ucoz.ru/_fr/3/_table.sort_nc.js"></script>

...

Остальное, вроде, верно.

Прикрепления: 8051482.png(8Kb)

 
Дата: Вторник, 14.07.2015, 23:45 |
KamPod
Рядовой
Группа: Зарегистрированные
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline


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

 
Дата: Вторник, 14.07.2015, 23:47 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9095
Награды: 23
Репутация: 457
Статус: Unknown


Цитата KamPod, Вт, 14.07.2015, 23:45:10
и все получилось.

Ну и замечательно)


 
Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать? Информация для вновь прибывших » Как сделать... » Сортировка данных в таблице. Как сделать? (Варианты решения при помощи JavaScript)
Страница 2 из 2«12
Поиск: