Покрутить div внутри другого div в ie8

  • Автор темы Автор темы Zanevski
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Zanevski

Участник
Топикстартер
Сообщения
7
Реакции
0
Здравствуйте, уважаемые.

Хотелось бы узнать компетентное мнение о своей проблеме.

Написал нехитрый код в яваскрипт суть которого такова: есть родительский div, внутри которого второй див, в который напихано произвольное количество img.

У родительского div'а фиксированная ширина, т. е. часть child div'а отрезается вместе с img.

При событии мыши child div с помощью margin-left (плюс/минус) двигается вправо-влево. В результате появляются/исчезают img внутри родительского div'а.

Теперь суть: всё это работает в w3c браузерах. (Firefox, chrome, safari и последняя opera). В ie8 child div стоит мёртво. Тыкаюсь, мыкаюсь с разными css свойствами, не могу сдвинуть его, либо обрезать родительским div'ом.

Что делать?

(Убиться об стену не хочу — молод еще).
 
Ответ: Покрутить div внутри другого div в ie8


Не по теме:
Я ie8 даже в глаза не видел и, надеюсь, никогда не увижу (хотя понимаю, что для кодинга всё равно придёться с ним ознакомиться)
 
Ответ: Покрутить div внутри другого div в ie8

Тем не менее, надеюсь, что есть еще добры молодцы на Руси.
Разве есть для вас (и меня :) ) какие-то неясные проблемы в полиграфии? Если и есть, то в таких дебрях, куда не всякий ученый сунется. Вот я и подумал, что существуют и такие специалисты в web'е (новое для меня занятие).

P.S. Отношение к ie может быть разным, но пользователей надо любить.
 
Ответ: Покрутить div внутри другого div в ie8

Zanevski сказал(а):
не могу сдвинуть его, либо обрезать родительским div'ом.
Owerflow:hidden не работает для родителя?
А position: relative; top: 50px; left: 60px; (пиксели ясно для примера) для внутренних дивов пробовали?
Вообще-то я такой-же как qsedftghk.
 
Ответ: Покрутить div внутри другого div в ie8

Короче, покажь штэмеэлину эту... Я конечно не вебер, но иногда тоже что-то кодю... Если страшишься общего зрака, гыгы, кидай в личку, я покопаюсь, а то может у кого знающего спрошу...

А в других IE показывает нормально, например в IE6 ?
Имхо, margin-left неправильно как-то работает в IE, но так говорю, поскольку сам ни кода, ни IE8 не видел, а просветления лечить наложением рук в вебе, еще не достиг =)
 
Ответ: Покрутить div внутри другого div в ie8

HTML'ины как таковой нет. Все сделано на javascript.
В хтмл выглядело бы это примерно так:

<div style="float:left; height:52px; overflow:hidden; width:240px;">
<div>
<img style="float:left;" /> <!-- картинки одинакового размера -->
...
<img style="float:left;" />
</div>
</div>


По событию мыши у child`а меняется свойство margin-left такой строчкой:
previewBox.style.marginLeft = margin + 'px';

Функция, привязанная к событию, вызывается нормально. Проверял.

Посмотрел в ie7 — не работает тоже.

Пробовал у child`а position'ом играться и двигать координаты, но тогда его родительский див не обрезает.

В ie7 проверил. Не работет тоже.

Если бы во всех браузерах не работало, то понятно, что делаю неправильно. А так, недоумение вызывает. Шаманство надо какое-то.
 
Работает

Стало почти работать после такого:

Parent div — position: relative;
Child div — position: relative;

Событие мыши — .style.left = margin + 'px';

Но теперь не появляются картинки, которые были обрезаны. Зато все двигается.

:JKL$#H@ JKHKLKJLR$#H!!!!!!!!!!!!!!

Осталось в программке посчитать, которую картинку надо показать и выставить ей visible и на этом закончить изврат. Или все же можно родить простой рабочий код?
 
Ответ: Покрутить div внутри другого div в ie8

При использовании float:left, IE имеет привычку удваивать значение margin-left. Лечится добавлением в CSS строчки display:inline.
Впрочем, я в вебе не большой специалист.
 
Ответ: Работает

Zanevski сказал(а):
:JKL$#H@ JKHKLKJLR$#H!!!!!!!!!!!!!!
А готовых решений не существует? Например на jQuery?
 
Ответ: Покрутить div внутри другого div в ie8

Готовые решения — это уже другая песня. Дело вкуса; мне не нравится. Такое же ощущение, как от template в word`е. Видимо, детские комплексы.
 
Ответ: Покрутить div внутри другого div в ie8

не скажи... jQuery - это гуд, хотя оно конечно расслабляет...
 
Ответ: Покрутить div внутри другого div в ie8

Ну вот. Сделал. Спасибо Wild_Boar`у.
Итого для ie: (наверно будет работать и в других браузерах)

Parent div — position: relative; white-space: nowrap;
Child div — position: relative;
Img — display: inline; (вместо float:left)
Событие мыши — .style.left = '…px'
 
Статус
Закрыто для дальнейших ответов.