Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Общие вопросы > WEB-Программирование
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.10.2011, 03:57
Stasonix Stasonix вне форума
Прохожий
 
Регистрация: 24.08.2011
Сообщения: 28
Репутация: 10
По умолчанию Позиционирование блока по центру с динамическими элементами и их гибкостью *сложно

Тему даже уже как назвать в голове не укладывается, вопрос наболевший, в общем суть его в том что есть сайт с резиновым дизайном, скажем так обзор продукции производителя, снизу превьюшки, а в центре продукт с описанием. Так вот эти самые превьюшки выводятся снизу горизонтальным блоком, который выравнивается по центру в зависимости от того сколько превьюшек (т.е. берется ширина каждой, складывается и потом от этого центрируется блок), но иногда происходит сбой, может какая-то задержка при загрузке сайта и выводиться либо 1-на превьюшка, либо еще какой-то казус, весь фокус в том что все это должно быть резиновое, но у меня не получается это сделать без этого глюка, всю эту картину можно наблюдать здесь http://elegatec.500mb.net/2, там много всего, но то что пока не нужно я скрыл, превьюшки анимированы, на это не обращайте внимания, анимация здесь точно не виновата (хотя пока что и сбивает резину), вот модули, которые отвечают за происходящее:
HTML:
Код HTML:
<div class="pxs_thumbnails"> <div class="thumbdiv"><img class="previmg" src="../2/images/thumbs/MK34.png"></div> <div class="thumbdiv"><img class="previmg" src="../2/images/thumbs/MK34.png"></div> <div class="thumbdiv"><img class="previmg" src="../2/images/thumbs/MK34.png"></div> <div class="thumbdiv"><img class="previmg" src="../2/images/thumbs/MK34.png"></div> <div class="thumbdiv"><img class="previmg" src="../2/images/thumbs/MK34.png"></div> <div class="thumbdiv"><img class="previmg" src="../2/images/thumbs/MK34.png"></div> <div class="thumbdiv"><img class="previmg" src="../2/images/thumbs/MK34.png"></div> </div>

JS:
Код HTML:
// панель превьюшек var thumb_width_px = $pxs_thumbnails.width(); // длинна в пикселях превью var centrum = Math.floor((w_w - thumb_width_px)/2); // позиционирование к центру в пикселях thumb_width_percent = Math.floor((thumb_width_px/w_w)*100); // длинна в процентах превью center_percent = Math.floor((centrum/w_w)*100); // позиционирование к центру превью // применяем стиль,выставляем длинну и отступ в % $pxs_thumbnails.css({ 'width': Math.round(thumb_width_percent+1)+'%', 'left': Math.round(center_percent)+'%' }); var thumb_img_percent = Math.round(($thumbs.width()/thumb_width_px)*100); // длинна 1-й превьюшки в % $thumbs.css({ 'width': thumb_img_percent+'%' }); var spaces = one_image_w/(total_elems+1);

CSS:
Код HTML:
.pxs_thumbnails { height: 11%; position: absolute; top: 87%; left: 0px; overflow: visible; border: 1px solid violet; display: inline; } .pxs_thumbnails div { cursor:pointer; display: inline; border: 1px solid #CCCCCC; bottom: 0; height: 97%; float: left; top: 5%; overflow: visible; width: 6%; } .pxs_thumbnails .thumbdiv img.previmg { border: 1px solid red; display: inline; position: relative; overflow: visible; }


сама функция ЯС находится в файле http://elegatec.500mb.net/2/driver.js с 68-й строки (у меня так), возможно в ней вся загвоздка, что в ней может быть не так?
в итоге должно получиться без глюка и резиновое
П.С. Если вы не видите глюк, попробуйте обновить несколько раз.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter