КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Практическое занятие №12
Ход работы Студент проводит подготовительную работу согласно этапам описанным в теоретической части.
Задание Темой выставки становится программное обеспечение являющееся темой работ №6 и №7.
Требования к отчету: Отчет, в котором содержатся этапы подготовки студента к созданию выставки.
Тема: Разработка проекта электронной выставки программного обеспечения отраслевой направленности. Цель: формирование навыков продвижения программного обеспечения. Оборудование: персональный компьютер. Краткое теоретическое обоснование:
Первым делом создаем костяк нашей галереи - выставки: <div id="container"> <div id="heading"> <!-- Заголовок --> <h1>A cool jQuery gallery</h1> </div> <div id="gallery"> <!-- это блок для изображений --> <?php
//здесь идет PHP код ?> <div class="clear"></div> <!-- using clearfix --> </div> <div id="footer"> <!-- футер --> </div> </div> <!-- закрывающий div -->
PHP
Идея очень проста - PHP скрипт будет сканировать папку на наличие изображений. После этого эти изображения с помощью CSS & jQuery будут превращаться в красивую галерею. Пользоваться подобной галерей очень просто - достаточно только загрузить картинки в папку и результат сразу будет виден на странице. $directory = 'gallery'; //название папки с изображениями $allowed_types=array('jpg','jpeg','gif','png'); //разрешеные типы изображений $file_parts=array(); $ext=''; $title=''; $i=0; //пробуем открыть папку $dir_handle = @opendir($directory) or die("There is an error with your image directory!"); while ($file = readdir($dir_handle)) //поиск по файлам { if($file=='.' || $file == '..') continue; //пропустить ссылки на другие папки $file_parts = explode('.',$file); //разделить имя файла и поместить его в массив $ext = strtolower(array_pop($file_parts)); //последний элеменет - это расширение $title = implode('.',$file_parts); $title = htmlspecialchars($title); $nomargin=''; if(in_array($ext,$allowed_types)) {
if(($i+1)%4==0) $nomargin='nomargin'; //последнему изображению в ряде присваевается CSS класс "nomargin" echo ' <div class="pic '.$nomargin.'" style="background:url('.$directory.'/'.$file.') no-repeat 50% 50%;"> <a href="'.$directory.'/'.$file.'" title="'.$title.'" target="_blank">'.$title.'</a> </div>'; $i++; } } closedir($dir_handle); //закрыть папку
Сканируя файлы папки и пропуская файлы не изображения, у нас накапливается XHTML код для каждого изображения. Код (линии 28-39) состоит из контейнера с классом pic (и в некоторых случаях nomargin). С помощью атрибута style мы устанавливаем фоновое изображение в виде нашего изображения. Мы позиционируем картинку в центре, используя 50% 50%. Таким образом изображение выравнивается как по горизонтали, так и по вертикали. Если изображение больше блока, мы видим только центральную его часть (ту часть, которая помещается в контейнер). Таким образом, у нас получаются красивые миниатюры (без необходимости уменьшение самого изображения).
Это хорошо работает с "нетяжелыми" изображениями. В блоке находится ссылка, которая ведет к полноразмерному изображению. Название файла служит значением атрибута title. Плагин lightBox использует эти значения и преобразует картинки в галерею. Чтобы изменить описание изображения, необходимо его переименовать.
У Вас может возникнуть вопрос по поводу класса nomargin! Для чего он нам нужен? У каждого изображения в галерее есть правый и нижний отступ. Это означает, что последний элемент в каждом ряду не сможет выравняться с правой частью заголовка блока. Это выглядит непрофессионально. Поэтому мы присваиваем специальный класс, который убирает правый отступ для последнего элемента в ряду. В итоге, мы получаем красивый результат.
CSS
Теперь давайте все немного оформим: /* first reset some of the elements for browser compatibility */ body,h1,h2,h3,p,td,quote,small,form,input,ul,li,ol,label{ margin:0px; padding:0px; font-family:Arial, Helvetica, sans-serif; } body{ /* body */ margin-top:20px; color:white; font-size:13px; background-color:#222222; } .clear{ /* clearfix класс */ clear:both; } a, a:visited { color:#00BBFF; text-decoration:none; outline:none; } a:hover{ text-decoration:underline; } #container{ width:890px; margin:20px auto; } #heading,#footer{ background-color:#2A2A2A; border:1px solid #444444; height:20px; padding:6px 0 25px 15px; margin-bottom:30px; overflow:hidden; } #footer{ height:10px; margin:20px 0 20px 0; padding:6px 0 11px 15px; } div.nomargin{ /* nomargin класс */ margin-right:0px; } .pic{ float:left; margin:0 15px 15px 0; border:5px solid white; width:200px; height:250px; } .pic a{ width:200px; height:250px; text-indent:-99999px; display:block; } h1{ font-size:28px; font-weight:bold; font-family:"Trebuchet MS",Arial, Helvetica, sans-serif; } h2{ font-weight:normal; font-size:14px; color:white; }
jQuery
Для правильной работы нам понадобится в шапке документа подключить фреймворк, таблицу стилей и вспомогающие скрипты: <link rel="stylesheet" type="text/css" href="lightbox/css/jquery.lightbox-0.5.css"> <link rel="stylesheet" type="text/css" href="demo.css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript" src="lightbox/js/jquery.lightbox-0.5.pack.js"></script> <script type="text/javascript" src="script.js"></script>
Еще немного работы: // после загрузки страницы $(document).ready(function(){ $('.pic a').lightBox({
imageLoading: 'lightbox/images/loading.gif', imageBtnClose: 'lightbox/images/close.gif', imageBtnPrev: 'lightbox/images/prev.gif', imageBtnNext: 'lightbox/images/next.gif' }); });
Тут мы просто подключаем несколько изображений для правильной работы лайтбокса.
Перечень контрольных вопросов: 1. Что такое PHP и JavaScript? 2. Как разместить на сайте виртуальную выставку? 3. Какие материалы можно использовать на выставке?
Дата добавления: 2014-12-25; Просмотров: 761; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |