X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Не работает скрипт
LeV
LeV
Topic Starter сообщение 22.4.2008, 22:47; Ответить: LeV
Сообщение #1


Не работает скрипт

Помогите разобраться, уже всю голову сломал...
Есть java-скрипт из книги Влада Мержевича.
Он позволяет расположить DIV над содержимым страницы.
При прокрутке содержимое DIV плавно сдвигается, оставаясь неподвижным относительно окна браузера.
Скрипт работает, только если из кода страницы убрать <!DOCTYPE....>.
Причем нет разницы, какой тип документа в нем объявлен.

Вот css-свойства DIV:
#popup {
  position: absolute;            /* Абсолютное позиционирование */
  width: 150px;             /* Ширина*/
  border: 1px solid;            /* Рамка вокруг */
  background: #ffffee;            /* Цвет фона */
  text-align:center;            /* Выравнивание содержимого по центру */
  margin-left:78%;            /* Координаты DIV, если выкл. скрипты */
  top: 50px;                /*  */
}



Вот сам скрипт:
function floatMenu()
{
// Указывает, где находится меню по вертикали
// Возможные варианты - top и bottom
verticalPos = "top"; // Меню находится вверху

// Указывает, где находится меню по горизонтали
// Возможные варианты - left и right
horizontalPos = "right"; // Меню располагается справа
startX = 10;    // Начальная координата по горизонтали
startY = 50;  // Начальная координата по вертикали

function coordMenu(id) {
// Обращаемся к нашему меню по его id через getElementById
  el = document.getElementById(id);

// Получаем координаты меню
  el.currentPosition = function(x, y) {
    if (horizontalPos == "left") this.style.left = x;
    else  this.style.right = x;
    this.style.top = y;
  }

// Положение по горизонтали остается неизменным
el.x = startX;

// Если меню расположено вверху окна, то вертикальная
// текущая координата не меняется
  if (verticalPos == "top") el.y = startY;

// Если меню расположено внизу окна, то из высоты окна вычитаем
// исходную вертикальную координату меню
  else el.y = document.body.clientHeight - startY;
  return el;
}
slideMenu = function()    {
// Число 20 в знаменателе определяет плавность хода,
// чем оно больше, тем медленнее движется меню
  if (verticalPos == "top")
    obj.y += (document.body.scrollTop + startY - obj.y)/20;
  else
    obj.y += (document.body.clientHeight + document.body.scrollTop -   startY - obj.y)/20;

// Сохраняем текущие координаты меню
  obj.currentPosition(obj.x, obj.y);

// Вызываем функцию slideMenu каждые 10 миллисекунд
  setTimeout("slideMenu()", 10);
}
obj = coordMenu("popup");
slideMenu();
}


Как должен работать скрипт (убран <!DOCTYPE....>)

Заранее благодарю за советы!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
skaboy
skaboy
сообщение 22.4.2008, 23:00; Ответить: skaboy
Сообщение #2


ну берешь див и прописеваищ аи-ди попап
<div id="popup">контент</div>

в чем проблема я не понял?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LeV
LeV
Topic Starter сообщение 22.4.2008, 23:29; Ответить: LeV
Сообщение #3


Если в html коде страницы присутствует тег <!DOCTYPE....>, скрипт не работает.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LeV
LeV
Topic Starter сообщение 22.4.2008, 23:31; Ответить: LeV
Сообщение #4


Забыл сказать, скрипт вызывается следующим образом:
<body id="body1" onload="floatMenu()">
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
VHS
VHS
сообщение 23.4.2008, 0:17; Ответить: VHS
Сообщение #5


http://validator.tom.ru/check?uri=http%3A%...ine&group=0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LeV
LeV
Topic Starter сообщение 23.4.2008, 0:45; Ответить: LeV
Сообщение #6


(VHS @ 23.4.2008, 0:17) *


Естественно, что валидатор ругается, когда в странице нет DOCTYPE... Вопрос-то о другом - почему скрипт не работает?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
IGROMAN
IGROMAN
сообщение 23.4.2008, 18:07; Ответить: IGROMAN
Сообщение #7


Открываешь консоль ошибок в браузере и смотришь где ошибка, а потом правишь.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LeV
LeV
Topic Starter сообщение 23.4.2008, 20:36; Ответить: LeV
Сообщение #8


Предупреждение: Ошибка при анализе значения свойства 'right'.  Потерянное объявление.
Предупреждение: Ошибка при анализе значения свойства 'top'.  Потерянное объявление.

И таких сообщений до бесконечности (скрипт каждые 10мс срабатывает).
А что править - непонятно.
Главное - как это связано с <DOCTYPE> ?!

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Крауд-маркетинг который работает | Эффективные Ру-ссылки
1 Azyuka 1045 13.2.2024, 19:36
автор: tascha56
Открытая тема (нет новых ответов) Скрипт поисковика видео StrongTube
3 3josoft 1574 14.8.2023, 14:45
автор: 3josoft
Открытая тема (нет новых ответов) Скрипт приема платежей p2p с карты на карту card2card
Скрипт приема платежей p2p с карты на карту card2card
15 zladey1986 7830 26.3.2023, 8:54
автор: Palundra
Открытая тема (нет новых ответов) Продам скрипт перевода постов и комментариев
4 Tutich 784 19.1.2023, 17:23
автор: Tutich
Открытая тема (нет новых ответов) Битрикс скрипт нативной установки
3 Nemo 2451 20.11.2022, 10:09
автор: Webmaster24


 



RSS Текстовая версия Сейчас: 18.4.2024, 11:48
Дизайн