Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Решение проблемы с отображением элементов на странице (https://javascript.ru/forum/css-html/24691-reshenie-problemy-s-otobrazheniem-ehlementov-na-stranice.html)

mozyr 10.01.2012 21:50

Решение проблемы с отображением элементов на странице
 
Здравствуйте !
Обращаюсь к вам за помощью.
У меня есть сайт, на вордпрессе. Откопал довольно интересную тему, пытаюсь ее использовать, но есть небольшая проблема, скорее всего с jquery (впрочем, я не уверен). Суть проблемы в том, что при первоначальной загрузке сайта, элементы на главной странице (и на главных страницах разделов) отображаются неверно - появляются лишние расстояния между ними. НО - если обновить страницу (refresh или f5) - все элементы становятся на свои места. Также, опытным путем я определил, что если увеличить/уменьшить масштаб (ctr +/ctr -) то элементы также становятся на свои места.
Суть вопроса - я совсем не могу в jquery - даже не могу придумать в каком месте искать решение проблемы. Но я немного знаю js (ну, или хочу знать %). Подскажите, как можно средствами js однократно перезагружать страницу, после ее полной загрузки ? Ну, строго говоря - как программно заставить js нажимать f5 вместо пользователя ?
Сайт - offside.by.
Спасибо заранее, и, прошу прощенья за путанный рассказ )

elf2002 11.01.2012 13:39

"как можно средствами js однократно перезагружать страницу"

не вздумай.
А этот глюк, это скорей всего браузерный.
А если нет, то искать решение надо другое, но и в коем случае не перезагрузку.

mozyr 11.01.2012 14:49

Цитата:

Сообщение от elf2002 (Сообщение 149549)
"как можно средствами js однократно перезагружать страницу"

не вздумай.
А этот глюк, это скорей всего браузерный.
А если нет, то искать решение надо другое, но и в коем случае не перезагрузку.

дело в том, что проявляется глюк и в хроме и в фф и в опере.
я понимаю, что это убогое действие - перезагружать страницу, но, ей-богу, не могу придумать ничего умнее.
может возможно изменять масштаб страницы средствами js ? ну, уменьшить его до 90%, например, и, сразу же, увеличить до 100% ?

trikadin 11.01.2012 14:54

Вёрстку вам надо менять. Перезагружать страницу из-за косяков в вёрстке - очень плохо.

mozyr 11.01.2012 15:00

Цитата:

Сообщение от trikadin (Сообщение 149570)
Вёрстку вам надо менять. Перезагружать страницу из-за косяков в вёрстке - очень плохо.

да верстка, вроде в порядке - вопрос именно в динамическом изменении страницы. анимация эта на jquery вызывает у меня подозрение.

elf2002 11.01.2012 15:10

давай адрес.
Гляну в опере. Если разъедется, то узнаем почему. ;)

mozyr 11.01.2012 15:39

Цитата:

Сообщение от elf2002 (Сообщение 149574)
давай адрес.
Гляну в опере. Если разъедется, то узнаем почему. ;)

http://offside.by

в опере особенно ярко заметно.
но при изменении масштаба страницы (ctr+колесо мыши) все запрыгивает на свои места )

а в хроме проще всего увидеть проблему здесь: http://offside.by/category/avtorskoe/kolonka-alekseeva/

trikadin 11.01.2012 16:09

У меня в firebug'е 11 ошибок (12 уже). Это нормально?

mozyr 11.01.2012 16:17

Цитата:

Сообщение от trikadin (Сообщение 149602)
У меня в firebug'е 11 ошибок (12 уже). Это нормально?

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

elf2002 11.01.2012 18:03

хм.
В опере показало все нормально.
После +/- (ктрл/колесо) - без изменений.
Ты уверен, что этот глюк не только у тебя вылазит?

mozyr 11.01.2012 18:13

Цитата:

Сообщение от elf2002 (Сообщение 149635)
хм.
В опере показало все нормально.
После +/- (ктрл/колесо) - без изменений.
Ты уверен, что этот глюк не только у тебя вылазит?

Да, уверен )
Вот сделал скриншоты:
Сразу после загрузки страницы: http://offside.by/pic/before.jpg
После изменения масштаба до 80% и обратно до 100% - http://offside.by/pic/after.jpg

elf2002 11.01.2012 18:50

а вот у меня они выстроились как надо.
Скакали правда долго.

mozyr 11.01.2012 18:53

Цитата:

Сообщение от elf2002 (Сообщение 149648)
а вот у меня они выстроились как надо.
Скакали правда долго.

Хм. Не могу даже представить - почему так ?
Три моих друга перепроверили - у всех большие пробелы между материалами ( Причем в Опере это не лечится даже обновлением страницы.

elf2002 11.01.2012 19:36

скорее всего потому что у меня инет медленный.
А у вас наверно быстро, и скрипт включается скорей всего на онлоадах картинок, и треды скрипта конфликтують друг с другом. ;)

mozyr 11.01.2012 21:49

Цитата:

Сообщение от elf2002 (Сообщение 149658)
скорее всего потому что у меня инет медленный.
А у вас наверно быстро, и скрипт включается скорей всего на онлоадах картинок, и треды скрипта конфликтують друг с другом. ;)

Ох, вполне может быть, спасибо ! )
У меня не то чтобы быстрый очень интернет - 3 мегабита, но хостинг белорусский и сам я здесь нахожусь. Видимо, действительно, один скрипт подрезает другой.
А какое решение ? Перенести картинки на сторонний, более медленный хостинг ? Увеличить размер картинок, чтобы помедленнее загружались ?

elf2002 11.01.2012 22:18

задать переменную, которая будет очищаться после отработки скрипта и чтобы если переменная не пустая, то return false.
Наверное будет достаточно.
Но это токо если проблема действительно в оверлаппинге.

ЗЫ
Инет у меня аж 150 килобит. токо после 00:00 три мегабита дают.

mozyr 12.01.2012 13:09

Цитата:

Сообщение от elf2002 (Сообщение 149716)
задать переменную, которая будет очищаться после отработки скрипта и чтобы если переменная не пустая, то return false.
Наверное будет достаточно.
Но это токо если проблема действительно в оверлаппинге.

ЗЫ
Инет у меня аж 150 килобит. токо после 00:00 три мегабита дают.

Вот понял идею, просидел полночи над реализацией, но, блин, расписываюсь в собственной несостоятельности в js.
Куда мне прописать эту переменную ? И как ? )

elf2002 13.01.2012 02:34

Для начала надо найти где запускается скрипт.
Если действительно в онлоаде, то глянуть какой именно запускается и не через интервал/таймаут ли.
Тут уже два варианта. Если через таймаут, то лучше всего делать проверку перед вызовом таймаута.
Если нет, то в самой функции в самом начале (прописать var) и в конце (очистить).


Часовой пояс GMT +3, время: 22:50.