Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с обращением к свойству left 
:(
    Опции темы
Хоббит
Дата 31.7.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Нужно сделать поле, в нем 2 фотки, поле (размером с одну фотку), нужно так чтобы можно было листить фотки кнопками впрво влево ...
вот код

Код

        <div id = "FotoListContainer">
          <div id = "FotoListBlock">
            <div id = "FotoBlock">
              <img src = "/images/foto1.gif" width = "129" height = "96" />
            </div>

            <div id = "FotoBlock">
              <img src = "/images/foto2.gif" width = "129" height = "96" />
            </div>
          </div>
          <div id = "FotoListControl">
            <a href = "javascript:(back())">Назад</a><a href = "javascript:forvard()">Вперед</a>
          </div>



вот css

Код

#FotoListContainer
{
  overflow: hidden;
  background-color: #99CCFF;
  border: 1px solid #000000;
  width: 300px;
  height: 150px;
}

#FotoListBlock
{
 position: relative;
 left: 0px; 
 top: 0px;
 float: left;
}

#FotoBlock
{
  padding: 0px;
  margin: 0px;
  float: left;
}

#FotoListControl
{
  clear: both;
}



проблема в том, что нужно по нажатию определить относителное полоджение элемента FotoListBlock
document.getElementById('FotoListBlock').style.left возвращает undefined
document.getElementById('FotoListBlock').offsetLeft _ возвращает абсолютное значение ...

какие будут предложения... как ваще хранить положение элемента (то есть как глобальную переменную сделать)

все определяется в теге <script ...></script> в теле html  ... (не в заголовке) 
PM MAIL   Вверх
Burrr
Дата 31.7.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Для определения top-left координат блока использую ф-ию absPosition, вот пример её работы с хэтемэлём:
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Coor</title>
    <script>
    function absPosition(obj) { // Опрелеляем top - left координаты блока obj
        this.x = 0;
        this.y = 0;
        while(obj) {
            this.x += obj.offsetLeft;
            this.y += obj.offsetTop;
            obj = obj.offsetParent;
        }
        return {x:this.x,y:this.y};
    }
    function showCoor() {
        var div = document.getElementById("divId")
        var x = absPosition(div).x;
        var y = absPosition(div).y;
        alert("x = " + x + ", y = " + y);
    }
    </script>
</head>
<body onload="showCoor()">
<br><br>
<div id=divId style="border:1px solid #000000">123</div>

</body>

</html>

 


--------------------
PM MAIL ICQ   Вверх
Хоббит
Дата 31.7.2006, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



прочитайте вопрос ... мне нужно получить относительные значения позиции position: relative;    ....... теперь нужно получить top и left относительно родительского элемента?????

короче вот такая фигня news.yahoo.com  внизу .. там шняга в кот новости мотаются вправо в лево ... надо  так сделать 
PM MAIL   Вверх
Хоббит
Дата 1.8.2006, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



решил проблему тем что сделал внешний див тоже relative

Тепрь надо сделать так что бы элемент ехал ......
Как организовать цикл или рекурсию .. или как еще.. чтобы функция back вызвалась 100 раз и остановилась ... при чем для плавности надо задать паузу ....
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1271 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.