Главная » Статьи » Статьи о/про uCoz » Оформление сайтов в uCoz

Делаем автоматический слайдер контента, новостей, под информер. Для юКоз (uCoz)

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

За основу - взял плагин «Cycle Through a List» от By Charles Harvey. В сети очень много подобных скриптов, но этот мне понравился своей простотой, лаконичностью и лёгкостью кода. Это не «Featured Content Slider» или «Coda Slider», которые, несомненно, имеют больше настроек и возможностей, но и весят в десятки, если не в сотни, раз больше. Выбор - всегда за вами. Помните об этом.

В данном скрипте есть: автоматическая смена контента и регулировка/установка времени показа. В данном случае - мне больше ничего не нужно и не вижу смысла в навороченных по функционалу и настройкам более продвинутых фреймворках (Frameworks).

Приступим.

Для работы скрипта, а, следовательно и всего слайдера, нам/вам понадобится подключённая к странице/сайту библиотека jQuery версии не ниже v1.3.2. Как я уже где-то писал, но повторюсь: "Если у вас сайт на хостинге юКоз, и вы не совершали никаких действий по отключению скрипта - он у вас есть, так как подключён по умолчанию.". Это, тот самый, скрипт «u.js» - который включает в себя эту библиотеку.

Структура блока с контентом.

Наверно вступление опущу, сразу код.
HTML-каркас будующего блока:

Code
<ul class="newsCont" id="newsCont1">
<!--Start(InformerCont)-->
 <!--Здесь будет контент, который будет динамически вставлять информер-->
<!--End(InformerCont)-->
</ul>

Как видно из кода - все просто до невозможности. 
В блок, в котором ожидаем показывать контент, просто вставляем ненумерованный список без элементов. Элементы, то есть «li» - будет подставлять информер.

Идем в ПУ (здесь и далее - панель управления сайтом.) Главная » Информеры и создаём информер, например ... ну, давайте - Новости » Материалы в случайном порядке. Вы, естественно, можете выбрать другое.


Теперь создадим содержание для нашего информера.

Выглядеть оно будет примерно вот так:

Шаблон информера.

Code
<li>
<h4><a title="$TITLE$«?if($CATEGORY_NAME$)?» [Категория «$CATEGORY_NAME$»]«?endif?»" href="$ENTRY_URL$">«?substr($TITLE$,0,25)?»...</a></h4>
«?if($IMG_SMALL_URL1$)?»
<img class="prev" style="width:120px;" src="$IMG_SMALL_URL1$" alt="$TITLE$" />«?else?»«?if($IMG_URL1$)?»<img class="prev" style="width:120px;" src="$IMG_URL1$" alt="$TITLE$" />«?endif?»«?endif?»
$MESSAGE$
«?if($CATEGORY_NAME$)?»<span class="inf">[<a href="$CATEGORY_URL$">«?substr($CATEGORY_NAME$,0,25)?»...</a>]</span>«?endif?»
</li>

Где:

«?if($CATEGORY_NAME$)?» - проверяем, есть ли у данной новости категория, и, если есть - записываем её в титле..

«?substr($TITLE$,0,25)?» - ограничиваем количество символов в названии новости. В данном случае - 25. От «0», количеством «25».

«?if($IMG_SMALL_URL1$)?» - Проверяем наличие маленькой картинки, если есть - выводим в новость. Если нет («?else?»), проверяем наличие «большой» («?if($IMG_URL1$)?), если есть большая - выводим, если нет - ничего не делаем («?endif?»«?endif?»)

«?if($CATEGORY_NAME$)?»<span class="inf"> - проверяем наличие категории, и, если есть, выводим ссылку в неё, которую тоже ограничиваем в количестве символов («?substr($CATEGORY_NAME$,0,25)?»).


Не забываем, при копировании кода, заменять « на < и вот это » на вот это > ... Движок парсит «?if(....)?» ... .


Оформлять контент нашего слайдера я буду при помощи CSS, которую затем буду подключать на страницы с информером. Можно прямо из скрипта, или вместе со скриптом. Позже покажу как.

Итак, стили для контента.

Code
<style type="text/css">
/* StartStyle */
ul.newsCont,ul.newsCont li,ul.newsCont *{
font: 11px/1 Verdana,sans-serif; /* прописываем для любых элементов общий фонт. */
list-style:none;
background-image:none;
margin:0; /* убираем все возможные отступы и поля в контенте  */
padding:0;
}
ul.newsCont{
width:200px; /* указываем фиксированную ширину. */
border:1px solid #CCC;
position:relative; /* задаём позиционирование */
overflow:hidden; /* задаём поведение блока при переполнении */
height:200px; /* указываем высоту */
text-align:left;
}
ul.newsCont li{
padding:3px 2px;
opacity:0;
display:none; /* скрываем контент */
position:absolute; /* задаём абсолютное позиционирование, относительно блока контента */
}
ul.newsCont p,ul.newsCont h4{
margin-bottom:3px; /* отступы для заголовков и параграфов */
}
ul.newsCont h4 a{
font: bold 11px/1 Georgia,serif; /* перебиваем значение фонта по умолчанию для ссылок заголовков */
}
ul.newsCont h4:first-letter {
vertical-align:baseline;color:#C03; /* буквица для заголовков */
}
ul.newsCont .inf{
position:absolute; /* задаём позиционирование для блока дополнительной информации */
top:187px;right:1px; /* вычисляется от высоты блока контента */
text-align:right; /* выравнивание текста в блоке */
float:right; /* для оперы ... ヅ */
background:#FFF; /* задаём белый фон, для удобства чтения/восприятия */
font-size:10px;
color:777;
padding:1px 3px 2px; /* задаём поля, для удобства чтения/восприятия */
}
ul.newsCont img.prev{
max-height:120px!important; /* ограничиваем максимальные размеры картинки в контенте. На всякий... */
max-width:120px!important;
border:solid 1px #ddd; /* немного оформления ... */
float:left; /* положение относительно текста - картинка - слева, текст справа ヅ */
margin-right:5px;
padding:3px;
}
/* EndStyle */
</style>

Ну и, наконец, сам скрипт. ヅ

Code
(function($){
$.cycleThru={defaults:{delay:3000}};
$.fn.extend({cycleThru:function(config){
var config=$.extend({},$.cycleThru.defaults,config);
return this.each(function(){
var delay = config.delay;
var ulid = $(this).attr("id");
var el=0;
var elmax=$(this).children("li").hide().length-1;
function cyclee(){
$("ul#"+ulid+" li:eq("+el+")").show()
.animate({"opacity":"1"}, 400)
.animate({"opacity":"1"}, delay)
.animate({"opacity":"0"}, 400,function(){
(el==elmax)?el=0:el++;
cyclee();
});
};
cyclee();
})
}
})
})(jQuery);

Скрипт вызова функции:

Code
<script type="text/javascript">
$("ul#newsCont1").cycleThru({delay:6000});
</script>

Остановлюсь на некоторых моментах:

.animate({"opacity":"1"} ,400) - переход от полной прозрачности (opacity:0) до полной непрозрачности (opacity:1) за промежуток времени 400 миллисекунд. Можно прописать свои значения. Влияет на скорость/время отображения скрытого контента. Смены.

.animate({"opacity":"1"}, delay) - тайм-аут - указываем при вызове (.cycleThru({delay:6000})). Значения в миллисекундах. Влияет на время отображения контента.

.animate({"opacity":"0"}, 400 - переход от полной непрозрачности (opacity:1) до полной прозрачности (opacity:0) - скрытие. Число «400» - влияет на скорость/время скрытия контента.

$("ul#newsCont1").cycleThru({delay:6000}); - вызов функции. Передаём значения таймингов показа (delay:6000) и ID блока контента к которому применяем функцию. В данном вызове - к блоку с идентификатором «newsCont1». Должна находится ниже блока.


Если на странице больше одного блока со слайд-контентом - у каждого из них должны быть оригинальные ID !!!
У каждого блока - свой.
Например:

ul#newsCont1 и ul#newsCont2 и так далее.

Соответственно к каждому - своя функция вызова.

Например:

К первому
<script type="text/javascript">
$("ul#newsCont1").cycleThru({delay:6000});
</script>

и ко второму

<script type="text/javascript">
$("ul#newsCont2").cycleThru({delay:6000});
</script>


Если все сделано более-мене правильно, должно́ получится что-то вроде вот этого ... ヅ


Ну, и, наверное пример сто́ит привести .... ヅ ... Пример .... (откроется в новом окне ... )

Вопросы по теме - ниже, в комментариях ...

Сам скрипт. (на всякий....)



    P.S.

    Всем удачи... ヅ
    Flesh.




    Источник: Делаем слайдер контента, новостей, под информер. Для юКоз (uCoz). Инструкция. Новостной слайдер на jQuery.Cycle Through,Content Slider
    Категория: Оформление сайтов в uCoz | Добавил: likbezz (17.08.2010)
    Просмотров: 136051 | Комментарии: 29 | Теги: информер, UCOZ, Делаем, контента, инструкция, slider, новостей, слайдер, Cycle, юкоз
    Всего комментариев: 291 2 3 »
    0  
    29  allmonte [Материал[28.04.2012]

    Quote (allmonte)
    обнаружился косячок в скрипте, при вставке новостей где в заголовке используются кавычки, закрывающую отрисовывает как &quo... как лечить?
    лечится увеличением длинны заголовка если обрезаете его:
    Code
    <?if(len($TITLE$) > 40)?><?substr ($TITLE$, 0, len($TITLE$) - (len($TITLE$) - 40))?>...<?else?>$TITLE$<?endif?

    0  
    28  allmonte [Материал[28.04.2012]

    обнаружился косячок в скрипте, при вставке новостей где в заголовке используются кавычки, закрывающую отрисовывает как &quo...
    как лечить?

    0  
    27  allmonte [Материал[19.04.2012]

    кстати нашел еще один слайдер, легкий и как с фэйдом так и со сдвигом:
    слайдер
    тем более на jQuery + минимум CSS

    0  
    26  allmonte [Материал[19.04.2012]

    Quote (allmonte)
    Здравствуйте, вопрос: сам скрипт работает на ура, но почему шрифты Sans(без засечек) с болдом криво отображаются в IE и Chrom?

    разобрался, извините, background: # нужно под большие буквы закладывать в цвет фона

    0  
    25  allmonte [Материал[19.04.2012]

    Здравствуйте, вопрос:
    сам скрипт работает на ура, но почему шрифты Sans(без засечек) с болдом криво отображаются в IE и Chrom?

    0  
    24  tax [Материал[11.04.2012]

    спасибо! smile
    первый вариант подошёл! (через $OTHER1$) biggrin

    0  
    23  tax [Материал[11.04.2012]

    скажите пожалуйста, если изображение в новости залито не на сайт, а на какой-нибудь хостинг, никак не сделать что-бы оно в слайдере отображалось?

    0  
    22  LARI1107 [Материал[01.03.2012]

    Quote (LARI1107)
    Решила сделать в другом месте еще новости уже с небольшим текстом.

    Quote (LARI1107)
    Уж чего только не придумывала, как не выкручивалась и со стилями и в шаблоне информера, опять ничего не получается.......

    Ух ты!!! Нашла! Блин, стили когда дублировала и меняла на другие в названии циферку одну не туда поставила smile
    Вопрос снимается!

    А вот как бороться с ослами?.........

    0  
    21  LARI1107 [Материал[01.03.2012]

    опять у меня какая-то фигня получилась по этой теме....
    Решила сделать в другом месте еще новости уже с небольшим текстом. Проблема возникла из-за того что в одной новости у меня 10 картинок и хоть про них в шаблоне информера ни слова, и в блоке они не отображаются, но место под них оставляется, т.е. пустое место. И следующая новость начинается не сверху, как положено, а после того пустого места.
    Мне так кажется что это из-за картинок, может на самом деле и другое что-то....
    Уж чего только не придумывала, как не выкручивалась и со стилями и в шаблоне информера, опять ничего не получается.......
    Специально увеличила высоту блока чтоб видно было....... сайт по-прежнему My WebPage

    А со слайдерами вверху проблема в explorer - задвигает в край, хоть тресни. Ладно бы просто не менял картинки, а то обрезает.... редиска

    0  
    19  LARI1107 [Материал[23.02.2012]

    спасибо за отличный скрипт! Подстроила под себя - чтоб через информер каталога файлов выводились их изображения. Очень хотела что-то такое сделать, чтоб менялись изображения, но даже не предполагала что смогу это сама... Правда у меня тут некоторые сложности - никак не могу выровнять по центру содержимое в рамке - название каталога вверху и под ним картинка и поднять все повыше. И стили меняла и в шаблоне информера, не вижу где эта фигнюшка чтоб всегда по центру ставилось и повыше. Помогите, а!
    Не очень хорошо знаю стили... может чего не правильно делаю. сайт http://mytalants.ru/

    0  
    20  likbezz [Материал[24.02.2012]

    Quote (LARI1107)
    И стили меняла и в шаблоне информера, не вижу где эта фигнюшка чтоб всегда по центру ставилось и повыше. Помогите, а!

    Для вашего информера (информеров) нужны вот такие стили:

    Code
    <style type="text/css">
    ul.newsCont li,ul.newsCont h4{text-align:center;}
    ul.newsCont li{width:200px;}
    ul.newsCont h4{margin:0 auto 3px;}
    </style>

    ...

    Добавьте их в шаблон перед или после кода информера $MYINFx$ ... И будет вот так:


    ...
    Полный ответ на форуме, в теме: Делаем автоматический слайдер контента, под информермер.
    ...

    1-10 11-20 21-22
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]