#javascript #css #transform #offset
#javascript #css #преобразование #смещение
Вопрос:
Я извлекаю текст из ajax, который передает плитку, содержимое которой меняется каждые 5 секунд. Высота плитки является переменной, поэтому мне нужно получить смещение между текстом и другим элементом, чтобы установить правильную высоту для текста. (допустим, это похоже на плитку, которая загружается из статусов Facebook, и я должен убедиться, что она не находится поверх элемента с абсолютным расположением внизу.
Вот пример codepen: http://codepen.io/anon/pen/kFsif (протестируйте в webkit, откройте консоль)
Что происходит, так это то, что по мере преобразования элемента иногда я получаю другое смещение (всегда должно быть одинаковым), в диапазоне (в этом примере) от 62,1875 до даже 47,24595642089844. 5 пикселей в моем случае много.
Мой вопрос: есть ли способ получить offset().top (или это также может быть position().top) преобразуемого элемента, чтобы он всегда давал мне согласованный результат?
Заранее спасибо.
Редактировать:
Это пример того, как выглядит окончательная разметка: http://jsfiddle.net/n3KvJ /
Представьте, что я пытаюсь сделать, это установить .medium
высоту так, чтобы она не касалась .bottom
. Проблема .tile
в том, что высота является переменной, и позиция, которую я получаю, изменяется во время преобразования.
Комментарии:
1. Я чувствую, что переполнение и значение заполнения внизу будут вашим ответом, но позвольте мне посмотреть; РЕДАКТИРОВАТЬ: для какого элемента вы пытаетесь изменить?
2. @Jhecht, я отредактировал вопрос 🙂
3. тогда почему бы просто не стандартизировать. высота плитки и добавить переполнение?
4.
.tile
Потому что высота является переменной. Я не могу установить для него определенное значение.5. Полагаю, я просто не понимаю, почему
.tile
высота является переменной. Вы могли бы настроить его так, чтобы он был определенной высоты, и если есть переполнение, он будет медленно прокручиваться вниз, чтобы просмотреть его, но я полагаю, что это не имеет значения. Я не на 100% разбираюсь в переходах в CSS, поэтому дайте мне минуту, чтобы повозиться с этим, когда я закончу с некоторой работой.