Страница 2 из 14

СообщениеДобавлено: Чт сен 20, 2007 9:35
Berezkin
Да не в этот код, елки-палки, ты покажи код большой картинки. У тебя в коде просто разбираться лень он извратный слишком...

ты видишь у тебя картинка разрешения какого?
Код: Выделить всё
width="250" height="187"

а большая где?

СообщениеДобавлено: Пт окт 05, 2007 16:05
Владимир
Ну я пенек... Две недели жду ответа, захожу периодически на форум - посмотрю - после моего сообщения других сообщений нет, и ухожу. И только сегодня в очередной раз зайдя обнаружил, что ответ есть, просто появилась вторая страница, и он на ней...

Короче, при клике на картинку вызывается функция showPic из скрипта http://ett-m.ru/akula/Images/menu-img.js

СообщениеДобавлено: Вт окт 09, 2007 14:24
Berezkin
А с какими параметрами вызывается функция showPic?

СообщениеДобавлено: Вт окт 09, 2007 15:47
Владимир
В прошлом сообщении же писал... Ну мне не трудно - повторю еще раз.
Код: Выделить всё
<td><a href="#null" onClick="showPic('Barahlo/L-music-big.jpg')" title="Увеличить изображение"><img src="Barahlo/L-music-small.jpg" alt="" width="250" height="187" border="0"></a></td>


При нажатии на картинку вызывается функция showPic из из скрипта http://ett-m.ru/akula/Images/menu-img.js.
Скрипт подключается так:
Код: Выделить всё
<script language="javascript" type="text/javascript" src="Images/menu-img.js"></script>
Эта строка находится внизу страницы. Скрипт выполняет две функции: первая - вызывает увеличенную картинку, а вторая - управляет верхним и нижним меню - меняет цвет ромбика и текста при наведении мышки. Мне советовали перенести его в начало страницы, но тогда перестают работать меню. Таким образом он должен находиться после <p id="parag_bottom" ...> - тогда меню работает.
При нажатии на картинку появляется новое окно (увеличенная картинка), которая центрируется на экране. Этот скрипт мне написал один человек, который сейчас пропал и связаться с ним я не могу.

СообщениеДобавлено: Вт окт 09, 2007 16:48
Berezkin
Ага, значит путь к нужной картинке такой: Barahlo/L-music-big.jpg

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

Вот функция которая создает нужный элемент на странице (див) и запихивает в него картинку из Barahlo/L-music-big.jpg (т.е. какой параметр в скобках укажешь, такую картинку и запихнет)
Код: Выделить всё
function showPic(pic){
if(!document.getElementById("picture")){
if(linkTop > parseInt(document.body.clientHeight*0.8)){linkTop = linkTop - 200;}
var ppic = top.document.createElement("div");
ppic.setAttribute("id","picture");
ppic.style.position = "absolute";
ppic.style.top = linkTop + "px";
ppic.style.left = linkLeft + "px";
ppic.style.color = "#000";
ppic.style.backgroundColor = "e0dfe3";
ppic.style.border = "2px outset #fff";
ppic.style.padding = "10px 10px 10px 10px";
ppic.innerHTML = "<img src='" + pic + "' title='скрыть' alt='' style='cursor:pointer' onload='setTimeout(\"findCenter()\",100)' />";
top.document.body.appendChild(ppic);
ppic.onclick = function(){top.document.body.removeChild(this)};
if(ppic.offsetHeight > parseInt(top.document.body.clientHeight*0.98)){
ppic.style.width = ppic.firstChild.width + 42 + "px";
ppic.style.height = parseInt(top.document.body.clientHeight*0.98) + "px";
ppic.style.overflow = "auto";
}
}
else{window.alert("Закройте текущее изображение!");return;}
}


Попробуй в функции добавить стиль к создаваемому диву:

ppic.style.zindex = "2";

z-index задает "глубину" слоя в документе, чем выше значение тем выше (ближе к наблюдателю) слой

Но еще раз повторю, что не факт, что слой будет поверх Java-апплета, например Flash-элементы отображаются всегда сверху независимо от значения z-index

СообщениеДобавлено: Пт окт 12, 2007 11:27
Владимир
Если честно - ни фига не получилось, при нажатии на картинку здесь http://ett-m.ru/akula/barahlo5.html ничего вообще не происходит. Вот все что я сделал - предложенный код сохранил в http://ett-m.ru/akula/musor/bereza.js и заменил строку
Код: Выделить всё
<script language="javascript" type="text/javascript" src="Images/menu-img.js"></script>
на
Код: Выделить всё
<script language="javascript" type="text/javascript" src="musor/bereza.js"></script>

После этого работать перестало совсем. Сравнил с исходным кодом - добавил в скрипт кусок ценрирования изображения
Код: Выделить всё
function findCenter(){
var ppic = top.document.getElementById("picture");
ppic.style.left = parseInt(top.document.body.clientWidth*0.5) - ppic.offsetWidth/2 + "px";
var picT = ppic.style.top.substring(0, ppic.style.top.length - 2);
}
не помогло, потом добавил в начале <!-- и в конце //--> (надо наверно, раз стояло) - тоже легче не стало. На этом мои мысли закончились. В исходном варианте http://ett-m.ru/akula/barahlo.html все ес-сно работает. Как заработает попробую добавить ppic.style.zindex = "2". Жду совета.

СообщениеДобавлено: Пт окт 12, 2007 13:42
Berezkin
А зачем ты весь код заменил???
Надо было туда только одну строчку дописать в изначальный код. Я просто кусок кода привел, чтобы понятнее было куда вписывать

СообщениеДобавлено: Пт окт 12, 2007 13:53
Владимир
Ну вот пожалуйста - вставил строку, только не помогает... http://ett-m.ru/akula/Images/menu-img.js и страничка http://ett-m.ru/akula/barahlo.html Не хочет вперед вылазить - хоть тресни...

СообщениеДобавлено: Пт окт 12, 2007 14:01
Berezkin
Ну вот я о том и говорил, что не вылезет наверх скорее всего. Видимо у апплета по умолчанию z-index выше всех.
Выхода два:
1. Избавится от апплета (я бы так и сделал)
2. Показывать большую картинку не в слое а в новом окне (метод window.open)

СообщениеДобавлено: Пт окт 12, 2007 14:23
Владимир
Спасибо за оказанную помощь.

1. Избавится от апплета - не хочется, очень интересный эффект.
2. Показывать картинку не в слое а в новом окне - на этом же форуме мне один спец (который написал скрипт) говорил наоборот, что лучше не делать всплывающие окна, ибо в настройках броузеров многие юзеры ставят их блокировку, и тогда получим шиш, а в слое работает всегда.

Возвращаясь к моему предыдущему посту. Хотелось бы выяснить почему не работает bereza.js. Как я говорил, один человек мне написал этот скрипт, который выполняет две функции - управляет верхним и нижним меню и вызывает увеличенную картинку. Я хотел бы его разделить на два скрипта ( не думаю что они связаны), так как меню хочу заменить. Тогда я смог бы удалить скрипт с меню и сделать меню другое. Но вот почему-то функцию ShowPic вынести в отдельный скрипт не удалось. Подскажите плиз как его разделить на 2 части.

СообщениеДобавлено: Пт окт 12, 2007 14:46
Berezkin
Да согласен, у многих стоит блокировка всплывающих окон. Только я считаю, что от нее толку нет. Т.к. большинство рекламы сейчас всплывает именно на дивах, да и реклама в основном флэшевая.

СообщениеДобавлено: Пт окт 12, 2007 14:58
Владимир
Ну а че по поводу разделения скрипта?

СообщениеДобавлено: Пт окт 12, 2007 15:12
Berezkin
Блин ну тяжко так не видя его че-то править...
Да и (имхо) скрипт написан через задницу. Я конечно не хочу сказать, что человек, писавший скрипт, в JS не разбирается. Он конечно рулит, но по моему можно было и проще сделать все это.

Вот почитай как картинки у ссылок менять: http://mweb.ru/masteru/33.php

И при клике на картинку я не понимаю для чего координаты курсора искать понадобилось...
Да и слой с большой картинкой нафига по центру экрана ставить? Почему не поставить его в левый верхний угол? Кода будет меньше раза в два.

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

СообщениеДобавлено: Пт окт 12, 2007 15:33
Владимир
Ну вот скрипт: http://ett-m.ru/akula/Images/menu-img.js Я с удовольствием воспользуюсь советом и переделаю часть скрипта, которая меняет картинки, только бы мне его разделить сначала на два - часть, которая вызывает картинку и часть, которая управляет меню. Я сами пытался неоднократно - никак не работает...

СообщениеДобавлено: Пт окт 12, 2007 15:39
Berezkin
Меняем картинку у ссылок при помощи CSS.

Для начала пишем стиль для ссылки в обычном состоянии:

Код: Выделить всё
.main_link {
padding-left: 20px;
background: url('http://ett-m.ru/akula/Images/Romb-G.gif') left no-repeat;
font: bold 12px Arial;
text-decoration: underline;
color: navy;
}


Теперь код при наведении:

Код: Выделить всё
.main_link:hover {
padding-left: 20px;
background: url('http://ett-m.ru/akula/Images/Romb-R.gif') left no-repeat;
font: bold 12px Arial;
text-decoration: none;
color: red;
}


И у всех ссылок, которые должны быть с ромбом ставишь параметр class="main"

И никакого геморроя со скриптами + работает всегда и везде + если юзер отключил скрипты работать будет все равно.

СообщениеДобавлено: Пт окт 12, 2007 15:52
Владимир
Спасибо, я обязательно переделаю, только никак не могу получить ответа на поставленный вопрос. Мне же нужно выкинуть кусок кода, управляющий меню и оставить ШовПик

СообщениеДобавлено: Пт окт 12, 2007 16:00
Berezkin
Код: Выделить всё
<script language='JavaScript' type='text/javascript'>
var x = 0;
var y = 0;
var open = 0;
         
function openBig2(obj, img)  {
   if (self.innerHeight) {
      x = self.innerWidth;
      y = self.innerHeight;
   } else if (document.documentElement && document.documentElement.clientHeight) {
      x = document.documentElement.clientWidth;
      y = document.documentElement.clientHeight;
   } else if (document.body) {
      x = document.body.clientWidth;
      y = document.body.clientHeight;
   }
                        
   if (open == 0) {
      obj.style.display = '';
      obj.innerHTML = '<img src="http:/'+'/ett-m.ru/akula/Images/'+img+'">';
      obj.style.top = y/2 - 240 + document.body.scrollTop + 'px';
      obj.style.left = x/2 - 320 + document.body.scrollLeft + 'px';
      open = 1;
   }
}
         
function closeBig2(obj)  {
   obj.style.display = 'none';
   open = 0;
}
</script>


Вот такой вот код я писал для одного сайтика...

Толко он див на лету не создает поэтому в любом месте документа надо вставить див такой:
<div onclick='closeBig2(big)' id='big' style="width: 640px; height: 480px; display: none;"></div>

А на маленькой картинке написать событие:
onclick="openBig2(big, 'название_большой_картинки.jpg');"

СообщениеДобавлено: Пт окт 12, 2007 19:11
Muerto
2Berezkin: Забыл слою указать position:absolute...

СообщениеДобавлено: Пт окт 12, 2007 20:51
Berezkin
2Muerto: Забыл...ну пятница все-таки -06- -06- -06-

СообщениеДобавлено: Пн фев 18, 2008 12:45
Владимир
Вот появился еще небольшой вопрос, который никак не получается решить самому... Работаю в 8 дриме. На страницах использую русский текст, и они нормально сохраняются, ибо есть там такая строка: <meta content="text/html; charset=Windows-1251" http-equiv="content-type">
А вот в CSS нужно сделать русские комментарии, а он при сохранении все русские буквы заменяет на ?????. Вставка аналогичной строки не спасает, наверно как-то по другому надо, а как? Подскажите, кто знает! Заранее спасибо!

СообщениеДобавлено: Пн фев 18, 2008 13:33
Muerto
Код: Выделить всё
@charset "windows-1251";

СообщениеДобавлено: Пн фев 18, 2008 13:37
Владимир
Спасибо большое!

СообщениеДобавлено: Вт фев 19, 2008 17:48
Владимир
Подскажите грамотные юзеры! Делаю страничку
http://priam.spaceweb.ru/~colormusic/komplekt.html
Однако меню в firefox и в IE выглядят по-разному. В IE оно растянуто по вертикали. Правильно в ФФ.
Изображение
Код меню:
Код: Выделить всё
<div style="text-align:center">
<img style= "margin-left: -9px; width: 990px; height: 1px;" alt="" src="images/line2.gif"><br>
<a class="menu" href="index.html">Главная</a>
<a class="menu" href="raduga.html">Радуга</a>
<span class="menu">Комплект</span>
<a class="menu" href="biss-49-1.html">БИСС-49</a>
<a class="menu" href="barahlo.html">Барахолка</a>
<a class="menu" href="kontakt.html">Контакты</a>
<a class="menu" href="price.html">Прайс</a>
<img style="margin-left: -9px; width: 990px; height: 1px;" alt="" src="images/line2.gif"> </div>

Соответствующий кусок ЦСС:
Код: Выделить всё
a.menu  {color: #483D8D; font: 15px Arial; font-weight:bold;  text-decoration:none;
           background: url('../images/romb-grn.gif') left center no-repeat; padding-left: 20px} 
a.menu:hover {color: #DF0000; font: 15px Arial; font-weight:bold;           /* Наведение мышки */
           background: url('../images/romb-red.gif') left center no-repeat; padding-left: 20px}
.menu {color: #C8C8C8; font: 15px Arial; font-weight:bold;                 /* Серый пункт */
           background: url('../images/romb-gry.gif') left center no-repeat; padding-left: 20px}

Я нутром понимаю, что они по-разному отображают, но как сделать, чтоб было одинаково, как в ФФ - пока еще ума не хватает...

СообщениеДобавлено: Вт фев 19, 2008 18:45
Berezkin
2Владимир: Я так думаю надо для начала сбросить внутренние и внешние отступы у всех элементов:
Код: Выделить всё
* {
padding: 0px;
margin: 0px;
}

И наверно е переделать вот так:
Код: Выделить всё
<div>
картинка линии
</div>

<div>меню</div>

<div>
картинка линии
</div>

СообщениеДобавлено: Вт фев 19, 2008 19:12
Владимир
Уважаемый товарищ Березкин!
Как видите я внял Вашему совету от 19,12,06 и переделал меню на ЦСС, вот теперь дорабатываю..

А куда вставлять первый код? Если перед меню, то получается ошибка (код просто торчит на странице), а если в цсс, то тоже не помогает, да еще вся таблица перестает центрироваться - прижимается к левому краю...

Второй кусок кода я вставил, но пока не помогает...
Код: Выделить всё
<div style="text-align:center"> <img style= "margin-left: -9px; width: 990px; height: 1px;" alt="" src="images/line2.gif"></div>
<div style="text-align:center"> <a class="menu" href="index.html">Главная</a>
<a class="menu" href="raduga.html">Радуга</a>
<span class="menu">Комплект</span>
<a class="menu" href="biss-49-1.html">БИСС-49</a>
<a class="menu" href="barahlo.html">Барахолка</a>
<a class="menu" href="kontakt.html">Контакты</a>
<a class="menu" href="price.html">Прайс</a> </div>
<div style="text-align:center"> <img style="margin-left: -9px; width: 990px; height: 1px;" alt="" src="images/line2.gif"> </div>

СообщениеДобавлено: Ср фев 20, 2008 10:54
Владимир
Ну вобщем внес я все предложенные коррективы... Легче не стало. Меню как было, так и осталось растянуто (в ИЕ), а таблица вся съехала налево. Посмотреть эту фигню можно тут: http://priam.spaceweb.ru/~colormusic/komplekt.html
ЦСС - тут: http://priam.spaceweb.ru/~colormusic/use/kvv.css
Жду разумного совета, а пока буду пытаться что-то сделать сам. Очень хочется исправить имеющееся меню, чтоб не придумывать что-другое.

СообщениеДобавлено: Ср фев 20, 2008 12:37
Berezkin
Код: Выделить всё
<div style="text-align:center"> <img style="margin-left: -9px; width: 990px; height: 1px;" alt="" src="images/line2.gif"> </div>


<div style="text-align:center"> - зачем text-align:center?
margin-left: -9px; - это для чего?
width: 990px; height: 1px; - непонятно зачем указывать ширину и высоту картинки менно через css

Таблица съехала только в мозилле, в ИЕ все в порядке. Для мозиллы попробуй задать таблице стиль margin: auto;

И вообще ошибок дофига как в HTML так и в CSS... ну и непоняток тоже... Например нафига все обозначения модификаций запихивать в <th>? Просто TH - это Table Head, т.е. заголовок таблицы. Тогда непонятно почему название ячеек стоит в тэге <td>...


Код: Выделить всё
<div style="margin: 0px; padding: 0px; width: 990px; background: url('http://priam.spaceweb.ru/~colormusic/images/line2.gif') left bottom repeat-x; line-height: 1px; text-align: center;">
<img style="margin: 0px; padding: 0px;" src="http://priam.spaceweb.ru/~colormusic/images/line2.gif" width="990" height="1" border="0" alt=""><br>
<a style="color: #483D8D; font: bold 15px Arial; text-decoration: none; background: url('http://priam.spaceweb.ru/~colormusic/images/romb-grn.gif') left center no-repeat; padding-left: 20px;" href="">Ссылка</a>
<a style="color: #483D8D; font: bold 15px Arial; text-decoration: none; background: url('http://priam.spaceweb.ru/~colormusic/images/romb-grn.gif') left center no-repeat; padding-left: 20px;" href="">Ссылка</a>
<a style="color: #483D8D; font: bold 15px Arial; text-decoration: none; background: url('http://priam.spaceweb.ru/~colormusic/images/romb-grn.gif') left center no-repeat; padding-left: 20px;" href="">Ссылка</a>
<a style="color: #483D8D; font: bold 15px Arial; text-decoration: none; background: url('http://priam.spaceweb.ru/~colormusic/images/romb-grn.gif') left center no-repeat; padding-left: 20px;" href="">Ссылка</a>
<a style="color: #483D8D; font: bold 15px Arial; text-decoration: none; background: url('http://priam.spaceweb.ru/~colormusic/images/romb-grn.gif') left center no-repeat; padding-left: 20px;" href="">Ссылка</a>
<a style="olor: #483D8D; font: bold 15px Arial; text-decoration: none; background: url('http://priam.spaceweb.ru/~colormusic/images/romb-grn.gif') left center no-repeat; padding-left: 20px;" href="">Ссылка</a>
</div>

Изврат конечно, но вроде работает. Только стили убери из тегов в файл CSS

СообщениеДобавлено: Ср фев 20, 2008 14:42
Владимир
Добрый день, спасибо за советы. Постараюсь ответить на поставленные вопросы.
<div style="text-align:center"> - зачем text-align:center?

Изначально див был такого вида, где данный параметр располагал меню по центру
Код: Выделить всё
<div style="text-align:center">
Верхняя линия
Меню Меню Меню Меню Меню
Нижняя линия
</div>

Затем по Вашему совету разделил то хозяйство на три дива тупо скопировав <div style="text-align:center"> во все строки, конечно это ошибка, ибо для линий это не надо.
margin-left: -9px; - это для чего?

Это нужно было, чтоб выровнять линию относительно таблицы (это и сейчас надо). Вся таблица 1000 рх, тень справа 9, значит длина линии 991 рх, и ее надо сдвинуть влево на 9 рх.
width: 990px; height: 1px; - непонятно зачем указывать ширину и высоту картинки менно через css

Согласен, заменил на явное указание
Например нафига все обозначения модификаций запихивать в <th>?

Вычитал этот совет в инете. С целью уменьшения кода, если текст в ячейке надо сделать жирным и расположить по центру, то то самый короткий путь. Все работает и ни один валидатор не ругается. Если Вы предложите более короткое или правильное решение, я с удовольствием все переделаю.
Теперь по поводу исправлений. Я все исправил, согласно Ваших советов. Однако все меню было сдвинуто влево. Установка margin: auto; в стиль дива исправила ситуацию только в ФФ. Осталось в ФФ подвинуть его влево на 9 рх, а в ИЕ выровнять по центру.
С нетерпением жду совета. Пока буду пытаться чесать репу сам.
Посмотреть иправленный вариант можно как и раньше
http://priam.spaceweb.ru/~colormusic/komplekt.html
http://priam.spaceweb.ru/~colormusic/use/kvv.css
Заранее спасибо!

СообщениеДобавлено: Ср фев 20, 2008 15:01
Berezkin
Для выравнивания в IE вдля тега body напиши в стиле text-align: center;
Можно попробовать написать для дива такой стиль:
Код: Выделить всё
.menuall {
margin: auto;
margin-left: 9px;
}

правда не знаю сработает ли и насколько это правильно с точки зрения валидности

СообщениеДобавлено: Ср фев 20, 2008 16:48
Владимир
Код: Выделить всё
Для выравнивания в IE вдля тега body напиши в стиле text-align: center;

Это помогло, спасибо!
Код: Выделить всё
.menuall {
margin: auto;
margin-left: 9px;
}

А вот это не работает... второй маржин отменяет первый - меню сдвигается к левому краю, и там уже на 9 пикселей в обоих браузерах. Блин, как все сложно! Мало того, что всякие маржины, паджинги, классы, стили и прочее сразу все не осознаешь, так еще и в разных браузерах по-разному все работает! Ладно, потихоньку изучаю эту науку. Я вообще за Х.. (имею в ввиду ХТМЛ) первый раз взялся, начав делать свой первый сайт впервые познакомился с понятием ТЭГ... Худо-бедно, а потихоньку сайт делается. Что-то узнаю из книг, что-то из инета, ну и когда уж совсем припрет - бывает какую-нить мелочь полдня сделать не получается, приходится обращаться к знатокам на форуме. Еще раз огромное спасибо всем, кто готов потратить немного своего времени, чтобы протянуть руку помощи начинающим!
Итак, остался последний вопрос: как сдвинуть меню на 9 пикселов влево в обеих браузерах?
http://priam.spaceweb.ru/~colormusic/komplekt.html
http://priam.spaceweb.ru/~colormusic/use/kvv.css

СообщениеДобавлено: Ср фев 20, 2008 17:32
Berezkin
2Владимир: А если все (и меню и таблицу) запихнуть в див, потом его уже позиционировать по центру. А потом внутри него уже сделать отступ 9px для таблицы?

Надо экспериментировать короче...

СообщениеДобавлено: Ср фев 20, 2008 18:20
Владимир
Если честно, то немного непонятно... Таблица и див выравниваются по центру, ширина таблицы 1000 рх, а ширина меню 990, значит слева и справа должно быть по 5 рх одинаково, а этого не происходит...
Может пойти по другому пути? Не пытаться сдвинуть это хозяйство влево. Если посмотреть на меню внизу страницы, оно чуть по-другому сделано, и относительно таблицы выровнено правильно. Там другой подвох - в ИЕ растянуто по вертикали - может это легче исправить?

СообщениеДобавлено: Ср фев 20, 2008 18:43
Berezkin
2Владимир: Ну если не нужна 100% блочная верстка (а ее собссно и так нет), то можно меню вообще сделать не дивом, а таблицей.
Код: Выделить всё
<table width="990" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="990" height="1">картинка</td>
<td width="990" align="center">Ссылка Ссылка Ссылка</td>
<td width="990" height="1">картинка</td>
</tr>
</table>

а таблицу уже позиционировать. Тогда не надо будет заморачиваться с дивами и стилями для них.

Или второй вариант - сделать у главной таблицы слева ячейку шириной 9 пикселей, которая будет растягиваться на несколько строк (параметр rowspan). Тогда проблема решится 100% во всех браузерах.

СообщениеДобавлено: Чт фев 21, 2008 12:25
Владимир
Добрый день, тов. Березкин и другие посетители того сайта!
Как говорит майор Староконь в фильме "Солдаты": -Действительно... Да, действительно, почему я сам не допер сделать меню в виде таблицы? Два дня морочусь с дивами, их центрированием и отображением в различных браузерах, да и другим голову морочу... Вчера постирал (в смысле стер, а не выстирал) их всех на фиг, и буквально за час сделал сделал меню на основе таблицы, после чего воткнул его вверху и внизу на все страницы своего сайта - все работает на ура! Во всех браузерах! Да и смотрится по-моему неплохо... Слава тов. Березкину!
Вот тут можно посмотреть результат, меню уже работает на всех страницах: http://priam.spaceweb.ru/~colormusic/komplekt.html
Во время работы над этим меню меня все время мучил один вопрос: меню и сама страница теперь во всех браузерах центрируются правильно, свойства таблиц одинаковы:
Код: Выделить всё
<table  align="center" border="0" cellpadding="0" cellspacing="0" style="width: 1000px" >

однако в дриме 8 верхнее меню сдвинуто вправо, вот так:
Изображение
Нижнее меню, являющееся точной копией верхнего и сама таблица прижаты влево, а верхнее почему-то уползает. По-моему это дримовские глюки, ибо как я понимаю таблицы с одинаковыми свойствами должны и отображаться одинаково, ну да и хрен бы с ним.
Однако одна проблема у меня все-таки осталась, и сам я ее вряд ли смогу решить. Связана она, как ни странно с тем, что я по Вашему совету в этом посте (Пт Окт 12, 2007 15:39) заменил меню. Раньше оно управлялось скриптом, а теперь ЦСС. Если зайти на старую страничку http://ett-m.ru/akula/komplekt.html и потыкать в картинки, то они увеличиваются. Это работает скрипт http://ett-m.ru/akula/Images/menu-img.js. Однако он выполняет еще одну фнкцию - управляет верхним и нижним меню. После того, как я переделал меню на ЦСС, он работать перестал. Точнее, он работает, но неправильно. Если ткнуть в картинку на новой странице http://priam.spaceweb.ru/~colormusic/komplekt.html то увеличенная картинка появится в самом низу страницы (чтоб ее увидеть, надо прокрутить страницу до упора вниз). Полазив по скрипту я нашел там "parag_top" и "parag_bottom" - как я понимаю идентификаторы параграфов верхнего и нижнего меню, то есть картинка как то к ним привязывалась, а теперь поскольку их нет, то она уезжает вниз. Все мои попытки вылечить тот скрипт ни к чему не привели - ума пока не хватает. Очень надеюсь на Вашу помощь, ибо скрипт тот прописан у меня на всех страницах. Если никто не сможет мне помочь мне наверно придется искать другой скрипт и переделывать все страницы...
С нетерпением жду советов, и заранее благодарю всех откликнувшихся!

СообщениеДобавлено: Чт фев 21, 2008 13:11
Berezkin
Код: Выделить всё
function showPic(pic){
if(!document.getElementById("picture")){
if(linkTop > parseInt(document.body.clientHeight*0.8)){linkTop = linkTop - 200;}
var ppic = top.document.createElement("div");
ppic.setAttribute("id","picture");
ppic.style.position = "absolute";
ppic.style.zindex = "2";
ppic.style.top = linkTop + "px";
ppic.style.left = linkLeft + "px";
ppic.style.color = "#000";
ppic.style.backgroundColor = "e0dfe3";
ppic.style.border = "2px outset #fff";
ppic.style.padding = "10px 10px 10px 10px";
ppic.innerHTML = "<img src='" + pic + "' title='скрыть' alt='' style='cursor:pointer' onload='setTimeout(\"findCenter()\",100)' />";
top.document.body.appendChild(ppic);
ppic.onclick = function(){top.document.body.removeChild(this)};
if(ppic.offsetHeight > parseInt(top.document.body.clientHeight*0.98)){
ppic.style.width = ppic.firstChild.width + 42 + "px";
ppic.style.height = parseInt(top.document.body.clientHeight*0.98) + "px";
ppic.style.overflow = "auto";
}
}
else{window.alert("Закройте текущее изображение!");return;}
}

function findCenter(){
var ppic = top.document.getElementById("picture");
ppic.style.left = parseInt(top.document.body.clientWidth*0.5) - ppic.offsetWidth/2 + "px";
var picT = ppic.style.top.substring(0, ppic.style.top.length - 2);
}

я так понимаю, что за появление картинки отвечают следующие функции

showPic(pic) - собссно показывает саму картинку
findCenter() - ставит ее в центр

bvar picT = ppic.style.top.substring(0, ppic.style.top.length - 2); - эта строка мне не очень понятна

можно попробовать так
Код: Выделить всё
function findCenter(){
var ppic = top.document.getElementById("picture");
ppic.style.position = "absolute";
ppic.style.left = top.document.body.clientWidth/2 + "px";
ppic.style.top = top.document.body.clientHeight/2 + "px";
//var picT = ppic.style.top.substring(0, ppic.style.top.length - 2); - хз что за строка
}

СообщениеДобавлено: Чт фев 21, 2008 13:24
Владимир
Так я уже пробовал... После этого картинка ваще нигде не показывается...
http://priam.spaceweb.ru/~colormusic/komplekt.html
http://priam.spaceweb.ru/~colormusic/use/menu-img.js

СообщениеДобавлено: Чт фев 21, 2008 13:32
Berezkin
Правильно потому что этот скрипт выдает ошибку.
Если пользуешься мозиллой зайди в Инструменты -> Консоль ошибок и посмотри
if(linkTop > parseInt(document.body.clientHeight*0.8)){linkTop = linkTop - 200;} - linkTop is not defined

Ты весь код чтоли заменил? Нафига? Надо было поменять только последнюю функцию

СообщениеДобавлено: Чт фев 21, 2008 13:37
Владимир
Это понятно... А как ее исправить? Старый вариант скрипта работает, но криво... Мне еще скрипты не по зубам...

СообщениеДобавлено: Чт фев 21, 2008 14:21
Berezkin
Так я же написал как исправить, а ты весь код заменил

СообщениеДобавлено: Чт фев 21, 2008 16:17
Владимир
Аааа... Дятел я пластилиновый! Недопонял... Вот исправил. Стало немного лучше, но сиравно пока не то. Если в лампочки тыкать, они увеличиваются (и то как то картинка не по центру экрана), а вот если опуститься пониже, в светильники, то он появляются где-то наверху - в лампочках, и потому его не видно... И еще хотелось убрать ненужный код управления старым меню.
http://priam.spaceweb.ru/~colormusic/komplekt.html
http://priam.spaceweb.ru/~colormusic/use/menu-img.js