Имя: Пароль:
LIFE
Жизнь форума
OFF: Спалили пятничную ветку на работе
🠗 (Волшебник 07.12.2012 07:53)
,
0 al_zzz
 
07.12.12
07:17
Поставил себе недавно скрипт в ЛК вот этот:
// 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&amp;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: "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+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

        //&nbsp;<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::&nbsp;&nbsp;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')+'>');
  });
});
Сижу спиной к выходу. Спалили сегодня пятничную ветку у меня. Вопрос: есть у кого-нибудь скриптик, чтоб картинки открывались при наведении мыши на ссылку?
2 Balabass
 
07.12.12
07:23
А тат сиське?
3 Длинный Клиент
 
07.12.12
07:23
ничего не понял, но поржал
4 1Сергей
 
07.12.12
07:36
попроси сисадмина забанить тебя на мисте. а за "разбан" требовать с тебя 50 л пива
5 МастерВопросов
 
07.12.12
07:51
А вот бы такой скриптик, который бы загружал последние сообщения с основной страницы Мисты, или из заданой темы например в ТаблицуЗначений, или хотя бы текстовый файлик.
Тогда бы каждый мог себе в 1С написать Миста клиент и не приставать к Асмоди с пожелалками :-)

//Ну и скрипт для отправки на Мисту тоже
6 Волшебник
 
07.12.12
07:53
(0) Все претензии к автору скрипта y88
7 ЧеловекДуши
 
07.12.12
07:55
Вообще не пользуюсь скриптами, мне не лень кликать.
Так что... "получи фашист гранату" :)
8 Рэйв
 
07.12.12
08:01
(0)А кликнуть по ссылке центральной кнопкой или роликом мышки- уже рука не подымается?
9 Рэйв
 
07.12.12
08:02
+ и вообще спиной к выходу сидят только неудачнеги:-)
10 y88
 
07.12.12
08:08
(6) в претензии к ВР

(0) удали
// 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')+'>');
 });
});


или замени на последнюю версию
http://www.forum.mista.ru/users_js/47478.js
11 Доброжук
 
07.12.12
11:42
Сделайте перестановку в кабинете, не сиди спиной к выходу, будь мужиком блеать!!!
12 Паланик
 
07.12.12
14:21
А чо скрипт делает-то?
13 zak555
 
08.12.12
12:45
(12) отображает ссылки с картинками при наведении на значок ? (перевёрнутый)
14 zak555
 
08.12.12
12:46
*отображает картинки, на которые запостили ссылки =)