|
OFF: Предложение по улучшению | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
K-5
21.11.12
✎
08:31
|
Бывает так, что в процесе обсуждения, зададут уважаемые ЗУ вопрос а его не видно, например, пошла другая сотка.
В связи с этим предложение добавить панель в которой можно было бы видеть вопросы или реплики которые относятся к пользователю. Наподобие следующего допустим мой пост 250. Через некоторое время кто то пишет (250) ...... Так вот чтоб в отдельной панели можно было бы увидеть название ветки, и вопросы которые задали на мои сообщения. Спасибо |
||||||||||
1
Hazer79
21.11.12
✎
08:32
|
ничё не понял
Иное |
||||||||||
2
K-5
21.11.12
✎
08:33
|
(1) До Штирлица не дошла шифровка из центра. Он прочитал ее еще раз, все равно - не дошла.
|
||||||||||
3
Defender aka LINN
21.11.12
✎
08:34
|
(0) У четких потсанов все уже и так есть.
Иное |
||||||||||
4
K-5
21.11.12
✎
08:36
|
(3) Поделитесь секретом успеха)))
|
||||||||||
5
Defender aka LINN
21.11.12
✎
08:37
|
// y88
// tooltip add-on for forum.mista.ru var msg_hash = new Array(); var last_n_old = 0; var timeoutNewMessage; last_n = (typeof last_n=="undefined") ? (1000) : (last_n); // for archived createToolTips(); function createToolTips() { var table_messages = document.getElementById('table_messages'); if (table_messages) { if (last_n_old!=last_n) { // exist new messages // read all data and store to array for (msg_id=last_n_old; msg_id<=last_n; msg_id++) { // if (document.getElementById('message_'+msg_id)) {} // row для ajax нет!!!! if (document.getElementById('tdmsg'+msg_id)) { // cell var obj_tr_msg = document.getElementById('tdmsg'+msg_id).parentNode; // row // var msg_author = document.getElementById('tduser'+msg_id).innerHTML; var msg_author = obj_tr_msg.cells[0].innerHTML; var msg_date = ''; var msg_text = document.getElementById('tdmsg'+msg_id).innerHTML; msg_hash[msg_id] = [msg_id,msg_author,msg_date,msg_text]; } } // create tooltip for (msg_id=last_n_old; msg_id<=last_n; msg_id++) { var obj_td_msg = document.getElementById('tdmsg'+msg_id); if (obj_td_msg) { // cell var obj_tr_msg = obj_td_msg.parentNode; // row var msg_text = obj_td_msg.innerHTML; // 1. (<a href='#0' style='text-decoration:none'>0</a>) // (<a href='topic.php?id=444509&page=3#261' style='text-decoration:none'>261</a>) msg_text = msg_text.replace(/\(<a .*?>(\d+)<\/a>\)/gi, '<span onmouseover="tooltip.scheduleShowTip(this,re_html($1))" onmouseout="tooltip.scheduleHideTip(this)"><a href=#$1 style="text-decoration:none">($1)</a></span>') // 2. <a rel="nofollow" href="#2" class="answer-link" title="lxs">2</a> msg_text = msg_text.replace(/<noindex><a .*?>(\d+)<\/a><\/noindex>/gi, '<span onmouseover="tooltip.scheduleShowTip(this,re_html($1))" onmouseout="tooltip.scheduleHideTip(this)"><a href=#$1 class="answer-link">($1)</a></span>') //obj_td_msg.innerHTML = msg_text; // FF only !!! //<td style="padding:10px;" id="tdmsg5" valign="top" bgcolor="#FDFDFD" class="leftbottomgray"> obj_tr_msg.deleteCell(1); var td_m = obj_tr_msg.insertCell(1); td_m.id="tdmsg"+msg_id; td_m.valign="top"; //td_m.padding="10px"; td_m.bgColor="#FDFDFD"; td_m.style.borderBottomColor="#EEEEEE"; td_m.style.borderBottomWidth="1px"; td_m.style.borderBottomStyle="solid"; td_m.style.borderLeftColor="#EEEEEE"; td_m.style.borderLeftWidth="1px"; td_m.style.borderLeftStyle="solid"; td_m.innerHTML = msg_text; } } last_n_old = last_n; } } // add shedule for new messages //if (timeoutNewMessage) timeoutNewMessage=clearTimeout(timeoutNewMessage); timeoutNewMessage = setTimeout(createToolTips, 3000); } function re_html(id) { if (msg_hash[id]) { return { subj: " "+msg_hash[id][1], text: ""+msg_hash[id][3]+"" } }else{ //ajax load getmessage_tooltip(id); return {subj:'wait ajax '+id,text:'loading...'} } } //функция для подгрузки сообщения function getmessage_tooltip(message_n) { var k = 1; var topic_id = '' + document.getElementById('topic_id').value; var direction = 0; var req = new Subsys_JsHttpRequest_Js(); // Код, АВТОМАТИЧЕСКИ вызываемый при окончании загрузки. req.onreadystatechange = function() { if (req.readyState == 4) { if (req.responseJS){ if (req.responseJS.client_action==1) { // ok var message = req.responseJS.message_html; message = message.replace(/<span.*\]<\/span>/gi, ''); // delete top navigations // <BR><B>user_name</B>:message text // to do !!!! var author = ''; if (message.match(/<BR><B>(.+)<\/B>:(.+)/i)) { author = "<b>"+RegExp.$1+"</b>"; message = RegExp.$2; } msg_hash[message_n] = [message_n,author,'',message]; tooltip.divTip.childNodes[0].innerHTML = msg_hash[message_n][1] + tooltip.html_close; tooltip.divTip.childNodes[1].innerHTML = msg_hash[message_n][3]; }else if (req.responseJS.client_action==2) { //error msg_hash[message_n] = [message_n,'ajax:: ERROR','',req.responseJS.error]; tooltip.divTip.childNodes[0].innerHTML = msg_hash[message_n][1] + tooltip.html_close; tooltip.divTip.childNodes[1].innerHTML = msg_hash[message_n][3]; } } } } req.caching = false; // Запрещаем кэширование req.open('POST', 'ajax_getmessage.php', true); // Посылаем данные запроса (задаются в виде хэша). req.send({ k:k, topic_id:topic_id, message_n:message_n, direction:direction}); } /* TOOLTOP */ tooltip = { TIP_TIME: 300, OUT_TIME: 300, divTip: null, html: '<div class="gensmall" style="position:absolute; background:#FFFFE1; border:1px solid #000000; width:630px; font-weight:normal; overflow:hidden">'+ '<div style="background:white; padding:4px; border-bottom:1px solid silver"><b>Подождите...</b></div>' + '<div style="padding:4px">Идет ajax загрузка.<br/>Это может занять некоторое время.</div>' + '</div>', html_close: '<span onclick="tooltip.hideTip(this.parentNode.parentNode)" style="POSITION: absolute; RIGHT: 3px; TOP: 3px; cursor:hand; cursor:pointer">'+ '<b> x </b>' + '</span>', scheduleShowTip: function(elt, funk, event) { var th = this; if (th.timeoutTip) th.timeoutTip=clearTimeout(th.timeoutTip); if (th.timeoutMouseOut) th.timeoutMouseOut=clearTimeout(th.timeoutMouseOut); if (th.divTip && th.divTip.elt == elt) return; // already shown th.timeoutTip = setTimeout(function() { th.timeoutTip=null; th.showTip(elt, funk, event) }, th.TIP_TIME); }, scheduleHideTip: function() { var th = this; if (th.timeoutTip) th.timeoutTip=clearTimeout(th.timeoutTip); if (th.timeoutMouseOut) th.timeoutMouseOut=clearTimeout(th.timeoutMouseOut); th.timeoutMouseOut = setTimeout(function() { th.timeoutMouseOut=null; th.hideTip() }, th.OUT_TIME); }, showTip: function(elt, funk, event) { var th = this; th.locked = false; th.hideTip(); // Create tip. var span = document.createElement("div"); span.innerHTML = th.html; th.divTip = span.childNodes[0]; th.divTip.elt = elt; // Position tip. document.body.appendChild(th.divTip); var coord = th.getAbsPos(elt); var width = th.divTip.offsetWidth; var docWidth = document.body.scrollWidth; if (coord.x + width > docWidth) coord.x = docWidth - width - 10; if (coord.x < 0) coord.x = 0; th.divTip.style.left = coord.x + "px"; th.divTip.style.top = (coord.y + elt.offsetHeight + 1) + "px"; // Events for tip. addEvent(th.divTip, 'onmouseover', function(e) { th.scheduleShowTip(elt, funk); return true; }) addEvent(th.divTip, 'onmouseout', function() { if (th.inConfirm) return; th.scheduleHideTip(); return true; }) // Fill the tip. ++++++ var divSubj = th.divTip.childNodes[0]; var divText = th.divTip.childNodes[1]; var out = funk; divSubj.innerHTML = out.subj + th.html_close; divText.innerHTML = out.text; }, hideTip: function() { var th = this; if (th.locked) return; if (!th.divTip) return; th.divTip.parentNode.removeChild(th.divTip); th.divTip = null; }, getAbsPos: function(p) { var s = { x:0, y:0 }; while (p.offsetParent) { s.x += p.offsetLeft; s.y += p.offsetTop; p = p.offsetParent; } return s; }, end:0 } // Cross-browser addEventListener()/attachEvent() replacement. // addEvent(th.divTip, 'onmouseover', function(e) { function addEvent(elt, name, handler, atEnd) { name = name.replace(/^(on)?/, 'on'); var prev = elt[name]; var tmp = '__tmp'; elt[name] = function(e) { if (!e) e = window.event; var result; if (!atEnd) { elt[tmp] = handler; result = elt[tmp](e); elt[tmp] = null; // delete() does not work in IE 5.0 (???!!!) if (result === false) return result; } if (prev) { elt[tmp] = prev; result = elt[tmp](e); elt[tmp] = null; } if (atEnd && result !== false) { elt[tmp] = handler; result = elt[tmp](e); elt[tmp] = null; } return result; } return handler; } // Mista View Image // Dmitriev Sergey aka sergeante // sergeante document.write("<script src='http://code.jquery.com/jquery-latest.js'></script>"); $(function(){ $('a[href$="jpg"]').each(function(){ $(this).append('<br><img src='+$(this).attr('href')+'>'); }); }); |
||||||||||
6
Defender aka LINN
21.11.12
✎
08:38
|
Велосипед не мой, все копирайты соблюдены и все такое
|
||||||||||
7
milan
21.11.12
✎
08:40
|
в мистоклиенте для ондроеда есть просмотр ответов на ответ
Не надо |
||||||||||
8
K-5
21.11.12
✎
08:41
|
(6) Это нужно добавить в персональный скрипт?
|
||||||||||
9
Defender aka LINN
21.11.12
✎
08:45
|
(8) Да
|
||||||||||
10
K-5
21.11.12
✎
08:46
|
(9) А дальше уважаемый что делать?
|
||||||||||
11
K-5
21.11.12
✎
08:46
|
+(10) вставил перезагрузил.никаких изменение не вижу(((
|
||||||||||
12
Defender aka LINN
21.11.12
✎
08:47
|
(11) Мышью наведи на число в скобках
|
||||||||||
13
Прохожий
21.11.12
✎
08:47
|
(5) Этож несколько расходных накладных кода...
|
||||||||||
14
Defender aka LINN
21.11.12
✎
08:49
|
(13) см (6) :)
|
||||||||||
15
expertus
21.11.12
✎
08:50
|
(5) ух ты, пасиб!
|
||||||||||
16
K-5
21.11.12
✎
08:51
|
(12) Спасибо
Типо этого, но чтоб по разным веткам можно было. Это просто показывает содержание ссылки. А это например приходишь вечером и смотришь кто тебе в каких ветках чего написал |
||||||||||
17
Повелитель
21.11.12
✎
08:56
|
Спасибо, прикольно ))
|
||||||||||
18
Admin_Net_1C
21.11.12
✎
09:09
|
(5) спасибо, нужная вещь )
|
||||||||||
19
kosts
21.11.12
✎
09:09
|
Отдельной панелью не вижу смысла, а всплывающим окошечком было бы супер, как в приведенном скрипте.
Хочется, что бы из коробки работало (не люблю делать настройки). Развивать сайт нужно. Иногда хочется посмотреть, что написано по ссылке, но не хочется никуда переходить, и терять текущее положение... Надо |
||||||||||
20
al_zzz
21.11.12
✎
09:11
|
(6) Куда добавить-то? Объясните на пальцах для тех, кто в танке, плиз
|
||||||||||
21
Скользящий
21.11.12
✎
09:15
|
(20) В личной карточке есть ява скрипт добавить раздел.
|
||||||||||
22
K-5
21.11.12
✎
09:16
|
(20) См (8) и (12)
|
||||||||||
23
kosts
21.11.12
✎
09:25
|
+ к (19) Не помешало бы видеть и ответы на последующий ответ (серые ссылки находящиеся справа) в скрипте это не реализовано.
|
||||||||||
24
y88
21.11.12
✎
09:29
|
(23) в последней версии есть
http://www.forum.mista.ru/users_js/47478.js |
||||||||||
25
kosts
21.11.12
✎
09:32
|
(24) Хорошо, но такие вещи хочется "из коробки"...
|
||||||||||
26
kosts
21.11.12
✎
09:34
|
(24) Рекурсивно показывать, не планируется?
|
||||||||||
27
y88
21.11.12
✎
09:42
|
(26) не так это просто :)
|
||||||||||
28
rphosts
21.11.12
✎
17:20
|
почитал... погуглил... ничего не понял, куда втыкать-то если Monobook.js нету!
и самое главное, что получится в итоге? Типа как ветки в ГоломДеде(GoldEd если кто не понял)? |
||||||||||
29
kotletka
21.11.12
✎
17:22
|
При разрешении 1920х1080 в опере голосовалка наезжает на поля *сообщение
|
||||||||||
30
rphosts
21.11.12
✎
17:27
|
(29) только опера и это весь бонус?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |