Автор Тема: помогите с выдвигающейся таблицей  (Прочитано 5201 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн moris

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.optimaspb.ru
В эксплорере открываются медленно таблица (наварот,что бы красиво было) - все ок.
В опере не работает.
Помогите - плиз. Нужно что бы открывалось, а как это под опреру перепистаь - не врублюсь.
Привожу файл со скриптам js весь.
Помогите. Спасибо заранее...



// показываем таблицу


function ShowTable(numTable,typeTable,typeid,lan)
{
TTab = typeTable;
NTab = numTable;
LLan = lan;
if (typeTable == 1)
   if (typeId[NTab] == undefined)
      typeId[NTab] = typeid;

if (typeTable == 5)
   {
   typeTable = 1;
   clickType[numTable] = typeTable;
   }
else
   {
   if (typeTable == clickType[numTable])
      {
      closeTable(numTable);
      return;
      }
   clickType[numTable] = typeTable;
   }
eval("document.all.sm_corner" + numTable + ".style.cursor = \'hand\'");
var temp = "";
if (lan == "eng") temp = "_eng";
else temp = "";
var WidthClose = 0;
if (ary[NTab] != 1)
{
   if (typeTable == 1)
      {
      if (LLan == "eng") WidthClose = 93;
      else WidthClose = 111;
      document.all.movetable.rows[1].cells[0].innerHTML = \'\';
      document.all.movetable.rows[1].cells[1].innerHTML = \'
\';
      document.all.movetable.rows[1].cells[2].innerHTML = \'\';
      }
   else if (typeTable == 3)
      {
      if (LLan == "eng") WidthClose = 85;
      else WidthClose = 111;
      document.all.movetable.rows[1].cells[0].innerHTML = \'\';
      document.all.movetable.rows[1].cells[1].innerHTML = \'
\';
      document.all.movetable.rows[1].cells[2].innerHTML = \'\';
      }
   else if (typeTable == 2)
      {
      if (LLan == "eng") WidthClose = 91;
      else WidthClose = 111;
      document.all.movetable.rows[1].cells[0].innerHTML = \'\';
      document.all.movetable.rows[1].cells[1].innerHTML = \'
\';
      document.all.movetable.rows[1].cells[2].innerHTML = \'\';
      }
   cloneMovTable = document.all.movetable.cloneNode(true);
   eval ("document.all.hierSub" + NTab +".insertBefore(cloneMovTable);");
   cloneMovTable.id = "movetable" + NTab;
   eval ("document.all.movetable" + NTab + ".style.visibility = \'visible\';");
   eval ("document.all.movetable" + NTab + ".style.display = \'block\';");
   addHeight();
}
else
   {
   eval ("var objIFrame = document.all.movetable" + NTab +".rows[0].cells[2];");
   if (TTab == 5) TTab = 1;
   var NewFrame = document.createElement("IFRAME");
   NewFrame.scrolling = \'yes\';
   
   if (typeTable != 1)
      NewFrame.src = "generate.php?num=" + NTab +"&type=" + TTab +"&gal=" + galleryType[NTab] + "&lan=" + LLan;
   else if (typeTable == 1)
      NewFrame.src = "generate.php?num=" + NTab +"&type=" + TTab +"&id=" + typeId[NTab] + "&lan=" + LLan;

   NewFrame.width = \'100%\';
   NewFrame.height = 480;
   NewFrame.frameBorder = 0;
   NewFrame.id= \'framemov\'+ NTab;

   
   var WidthClose = 0;
   var a = eval(\'objIFrame.all.framemov\'+ NTab);
   objIFrame.replaceChild(NewFrame,a);
//   objIFrame.innerHTML = "";
   eval ("var objCell = document.all.movetable" + NTab +".rows[1].cells[1];");
   var temp = "";
   if (lan == "eng") temp = "_eng";
   else temp = "";
   if (typeTable == 1)
      {
      if (LLan == "eng") WidthClose = 93;
      else WidthClose = 111;
      objCell.innerHTML = \'
\';
      }
   else if (typeTable == 3)
      {
      if (LLan == "eng") WidthClose = 85;
      else WidthClose = 111;
      objCell.innerHTML = \'
\';
      }
   else if (typeTable == 2)
      {
      if (LLan == "eng") WidthClose = 91;
      else WidthClose = 111;
      objCell.innerHTML = \'
\';
      }
   }
}


function addHeight() //добавление высоты (расширение таблицы)
{
eval ("var IntHeight = parseInt(document.all.movetable" + NTab +".height);");
eval("document.all.movetable" + NTab +".height = IntHeight + 10;");
if (IntHeight-10 <=  250)
   {
   TAdd = setTimeout("addHeight()",10);
   }
else
   {
   insertTable();
   ary[NTab] = 1;
   clearTimeout(TAdd);
   }
}
« Последнее редактирование: 20 Марта 2006, 22:39:24 от moris »

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
помогите с выдвигающейся таблицей
« Ответ #1 : 25 Марта 2006, 00:22:36 »
1. Код неполный. По-моему здесь только определение функций, а как они работают - непонятно.
2. Код хреново читается. Ничем помочь не могу. Пытался.

Оффлайн moris

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.optimaspb.ru
помогите с выдвигающейся таблицей
« Ответ #2 : 24 Апреля 2006, 19:49:15 »
файл others.js


var TTab = 0;
var NTab = 0;
var LLan;
var ary = new Array();
var clickType = new Array();
var galleryType = new Array();
var typeId = new Array();
var tOpacity = 0;

function OnMouseOverMaterialButton(num,color) //для кнопок материалов и слов
{
document.getElementById("a" + num).filters.alpha.opacity=100; document.getElementById("b" + num).style.color = color; document.getElementById("b" + num).style.fontWeight = "bold";
}

function OnMouseOutMaterialButton(num) //для кнопок материалов и слов
{
OpacityDown(document.getElementById("a" + num).id);
document.getElementById("b" + num).style.color = "#999999"; document.getElementById("b" + num).style.fontWeight = "normal"
}

function OnClickMaterialButton(num,filename,name,color,typeid) //для кнопок материалов и слов
{
document.getElementById("jumpImage" + num).src = filename;

var loc = location.href;
var i = loc.indexOf("?");
var Lang,i_for;

if(i != -1){
   var strParam = loc.substr(i+1);
   var strArray = strParam.split("&");
   for (i_for = 0; i_for < strArray.length; i_for++){
      var Data = strArray[i_for].split("=");
      if (Data[0] == \'lan\') Lang = Data[1];
                      }
      }
else Lang = \'rus\';


eval ("if (document.all.framemov" + num +" == undefined) typeId[num] = typeid; else {typeId[num] = typeid; ShowTable(num,5,typeid,Lang);}");
}

function OpacityUp(idk) //вспыхивание
{
document.getElementById(idk).filters.alpha.opacity = 100;
}

function OpacityDown(idk) //медленное затухание
{
var Opac = parseInt(document.getElementById(idk).filters.alpha.opacity);
if (Opac > 50)
   {
   document.getElementById(idk).filters.alpha.opacity -= 10;
   idf = document.getElementById(idk).id;
   tOpacity = setTimeout("OpacityDown(idf)",50);
   }
else
   {
   clearTimeout(tOpacity);
   }
}

function OpacityDown2(idk) //медленное затухание
{
var Opac = parseInt(document.getElementById(idk).filters.alpha.opacity);
if (Opac > 70)
   {
   document.getElementById(idk).filters.alpha.opacity -= 10;
   idf = document.getElementById(idk).id;
   tOpacity = setTimeout("OpacityDown2(idf)",50);
   }
else
   {
   clearTimeout(tOpacity);
   }
}

function ShowTable(numTable,typeTable,typeid,lan)
{
TTab = typeTable;
NTab = numTable;
LLan = lan;
if (typeTable == 1)
   if (typeId[NTab] == undefined)
      typeId[NTab] = typeid;

if (typeTable == 5)
   {
   typeTable = 1;
   clickType[numTable] = typeTable;
   }
else
   {
   if (typeTable == clickType[numTable])
      {
      closeTable(numTable);
      return;
      }
   clickType[numTable] = typeTable;
   }
eval("document.all.sm_corner" + numTable + ".style.cursor = \'hand\'");
var temp = "";
if (lan == "eng") temp = "_eng";
else temp = "";
var WidthClose = 0;
if (ary[NTab] != 1)
{
   if (typeTable == 1)
      {
      if (LLan == "eng") WidthClose = 93;
      else WidthClose = 111;
      document.all.movetable.rows[1].cells[0].innerHTML = \'\';
      document.all.movetable.rows[1].cells[1].innerHTML = \'
\';
      document.all.movetable.rows[1].cells[2].innerHTML = \'\';
      }
   else if (typeTable == 3)
      {
      if (LLan == "eng") WidthClose = 85;
      else WidthClose = 111;
      document.all.movetable.rows[1].cells[0].innerHTML = \'\';
      document.all.movetable.rows[1].cells[1].innerHTML = \'
\';
      document.all.movetable.rows[1].cells[2].innerHTML = \'\';
      }
   else if (typeTable == 2)
      {
      if (LLan == "eng") WidthClose = 91;
      else WidthClose = 111;
      document.all.movetable.rows[1].cells[0].innerHTML = \'\';
      document.all.movetable.rows[1].cells[1].innerHTML = \'
\';
      document.all.movetable.rows[1].cells[2].innerHTML = \'\';
      }
   cloneMovTable = document.all.movetable.cloneNode(true);
   eval ("document.all.hierSub" + NTab +".insertBefore(cloneMovTable);");
   cloneMovTable.id = "movetable" + NTab;
   eval ("document.all.movetable" + NTab + ".style.visibility = \'visible\';");
   eval ("document.all.movetable" + NTab + ".style.display = \'block\';");
   addHeight();
}
else
   {
   eval ("var objIFrame = document.all.movetable" + NTab +".rows[0].cells[2];");
   if (TTab == 5) TTab = 1;
   var NewFrame = document.createElement("IFRAME");
   NewFrame.scrolling = \'yes\';
   
   if (typeTable != 1)
      NewFrame.src = "generate.php?num=" + NTab +"&type=" + TTab +"&gal=" + galleryType[NTab] + "&lan=" + LLan;
   else if (typeTable == 1)
      NewFrame.src = "generate.php?num=" + NTab +"&type=" + TTab +"&id=" + typeId[NTab] + "&lan=" + LLan;

   NewFrame.width = \'100%\';
   NewFrame.height = 480;
   NewFrame.frameBorder = 0;
   NewFrame.id= \'framemov\'+ NTab;

   
   var WidthClose = 0;
   var a = eval(\'objIFrame.all.framemov\'+ NTab);
   objIFrame.replaceChild(NewFrame,a);
//   objIFrame.innerHTML = "";
   eval ("var objCell = document.all.movetable" + NTab +".rows[1].cells[1];");
   var temp = "";
   if (lan == "eng") temp = "_eng";
   else temp = "";
   if (typeTable == 1)
      {
      if (LLan == "eng") WidthClose = 93;
      else WidthClose = 111;
      objCell.innerHTML = \'
\';
      }
   else if (typeTable == 3)
      {
      if (LLan == "eng") WidthClose = 85;
      else WidthClose = 111;
      objCell.innerHTML = \'
\';
      }
   else if (typeTable == 2)
      {
      if (LLan == "eng") WidthClose = 91;
      else WidthClose = 111;
      objCell.innerHTML = \'
\';
      }
   }
}

Оффлайн moris

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.optimaspb.ru
помогите с выдвигающейся таблицей
« Ответ #3 : 24 Апреля 2006, 19:49:52 »
function addHeight() //добавление высоты (расширение таблицы)
{
eval ("var IntHeight = parseInt(document.all.movetable" + NTab +".height);");
eval("document.all.movetable" + NTab +".height = IntHeight + 10;");
if (IntHeight-10 <=  250)
   {
   TAdd = setTimeout("addHeight()",10);
   }
else
   {
   insertTable();
   ary[NTab] = 1;
   clearTimeout(TAdd);
   }
}

function insertTable()
{
eval ("var objIFrame = document.all.movetable" + NTab +".rows[0].cells[2];");
   var NewFrame = document.createElement("IFRAME");

   NewFrame.width = \'100%\';
   NewFrame.height = 480;
   NewFrame.frameBorder = 0;
   NewFrame.id= \'framemov\'+ NTab;
   NewFrame.scrolling = \'no\';

   if (clickType[NTab] != 1)
      NewFrame.src = "generate.php?num=" + NTab +"&type=" + TTab +"&gal=" + galleryType[NTab] + "&lan=" + LLan;
   else
      NewFrame.src = "generate.php?num=" + NTab +"&type=" + TTab +"&gal=" + galleryType[NTab] + "&id=" + typeId[NTab] + "&lan=" + LLan;
//   while (NewFrame.document.readyState != \'complete\') alert(NewFrame.document.readyState);
   objIFrame.appendChild(NewFrame);
//objIFrame.innerHTML = "";
}

function closeTable(numTable)
{
eval ("if (document.all.framemov" + NTab +" != undefined) document.all.framemov" + NTab +".removeNode(true);")
eval("var IntHeight = parseInt(document.all.movetable" + numTable +".height);");
eval("document.all.movetable" + numTable + ".height = IntHeight - 10;");
if (IntHeight-10 >  10)
   {
   TClose = setTimeout("closeTable(" + numTable + ")",10);
   }
else
   {
   eval ("document.all.movetable" + numTable + ".style.visibility = \'hidden\';");
   eval ("document.all.movetable" + numTable + ".style.display = \'none\';");
   eval ("document.all.movetable" + numTable + ".removeNode(true);");
   ary[NTab] = 0;
   clickType[NTab] = 0;
   clearTimeout(TClose);
   }
}

function SetGalery(num,type)
{
galleryType[num] = type;
}

function ShowBigImage(ImageSrc)
{
eval("BigWindow = window.open(\'big_image.php?src=" + ImageSrc + "\',\'BigWindow\', \'directories=no, location=no, menubar=no, resizable=yes, scrollbars=yes, status=no, toolbar=no, height=510, width=800\')");
BigWindow.focus();
}

function EyeOpen(idk)
{
document.getElementById(idk).src = "eye_open.jpg";
}

function EyeClose(idk)
{
document.getElementById(idk).src = "eye_close.jpg";
}

function OrderOpen(idk)
{
document.getElementById(idk).src = "order_open.jpg";
}

function OrderClose(idk)
{
document.getElementById(idk).src = "order_close.jpg";
}

function LegendOpen(idk)
{
document.getElementById(idk).src = "legend_open.jpg";
}

function LegendClose(idk)
{
document.getElementById(idk).src = "legend_close.jpg";
}

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28