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



 

Здравствуйте, гость ( Вход | Регистрация )

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


Новичок
*

Группа: Viewer
Сообщений: 8
Регистрация: 2.3.2008
Поблагодарили: 0 раз
Репутация:   0  


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

Помогите разобраться, уже всю голову сломал...
Есть 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


Завсегдатай
*****

Группа: Active User
Сообщений: 583
Регистрация: 30.6.2007
Поблагодарили: 63 раза
Репутация:   15  


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

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


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


Новичок
*

Группа: Viewer
Сообщений: 8
Регистрация: 2.3.2008
Поблагодарили: 0 раз
Репутация:   0  


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


Новичок
*

Группа: Viewer
Сообщений: 8
Регистрация: 2.3.2008
Поблагодарили: 0 раз
Репутация:   0  


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


Новичок
*

Группа: Viewer
Сообщений: 4
Регистрация: 18.4.2008
Поблагодарили: 0 раз
Репутация:   1  


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


Новичок
*

Группа: Viewer
Сообщений: 8
Регистрация: 2.3.2008
Поблагодарили: 0 раз
Репутация:   0  


(VHS @ 23.4.2008, 0:17) *


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


Новичок
*

Группа: Viewer
Сообщений: 4
Регистрация: 18.4.2008
Поблагодарили: 0 раз
Репутация:   0  


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


Новичок
*

Группа: Viewer
Сообщений: 8
Регистрация: 2.3.2008
Поблагодарили: 0 раз
Репутация:   0  


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

И таких сообщений до бесконечности (скрипт каждые 10мс срабатывает).
А что править - непонятно.
Главное - как это связано с <DOCTYPE> ?!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыГде взять скрипт круговой индикатор выполнения
1 slavyn 259 Сегодня, 20:33
автор: Caterpillar
Открытая тема (нет новых ответов) Ищу скрипт новостного агрегатора
0 Cunningfox 475 27.11.2017, 21:17
автор: Cunningfox
Открытая тема (нет новых ответов) Поиск. Скрипт а-ля pikabu.
1 Упс 761 20.11.2017, 8:19
автор: codename65
Открытая тема (нет новых ответов) Nofollow ссылки из robots.txt, как это работает?
Как-то запретить к индексации без rel="nofollow" из robots.txt
7 coremission 505 17.11.2017, 17:17
автор: coremission
Открытая тема (нет новых ответов) Мутаген в 2017. Кто работает?
8 OldSpice 1388 12.11.2017, 1:47
автор: _fan_


 



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