Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Карусель для фотогалереи (https://javascript.ru/forum/dom-window/13955-karusel-dlya-fotogalerei.html)

Nanto 21.12.2010 23:05

Карусель для фотогалереи
 
Задумал создать свой сайт. Программированием занимался давным-давно (в институте).
Основа - фотогалереи. Думал над дизайном... понравилось решение в виде "карусели". Ещё не придумал как именно это будет выглядеть, но...
Пошерстил в сети - вот что глянулось:
http://www.xiper.net/collect/js-plug...ousellite.html
Попробовал. Работает. Но коряво...
С явой вообще первый раз сталкиваюсь (как и с html), поэтому...
вот что получилось:
www.nanto.dax.ru
(управление только колесиком пока оставил специально)

Что беспокоит? Потестил на разных браузерах. Галерея отображается как надо в: IE6, Maxthon 2, Mozilla 3.5, Google Chrome, Netscape, Safari, короче на старых движках Мозиллы и IE.
Не отображается в IE7 и Opera 10.10, а также (злая ирония) там где собирал страницу (ничего другого на компе не нашлось) в Macromedia Dreamweaver.
В чём может быть засада?

Дальше...

Вот именно в таком виде карусель не устраивает!
1) понятия не имею как её "отцентровать" - получается только по правому-левому краю. (пришлось её "раздуть" с запасом... хотя в 30-дюймовые мониторы, наверное, влезет целиком...)

2) Можно ли в эти фотки (в карусели) запихать ссылки на полноразмеры? Скрипт это позволит?

3) Самое главное! Как сделать её не в "равномерном" виде, а с приоритетом по размерам той картинки, которая "в фокусе"?
типа такого:
http://s015.radikal.ru/i333/1012/0b/c83a3cdd29e4.jpg
Именно на этой карусели возможно? или надо искать-лепить другую?

P.S. Прошу прощения за ламерские вопросы. Но все когда-то начинали.

P.P.S. Забыл добавить. В желаемом мною варианте подразумевается использование трёх разных по размерам наборов картинок, а не ресайз посредством веб-браузеров. (поскольку резкость уплывёт)
То есть - центральная картинка из "первого" набора, следующая из "второго", следующая из "третьего". Происходит смена картинки - На место цетральной вставляется следующая за ней из "первого набора" и т.д.
Короче нужно ПЯТЬ! каруселей. каждая со своим набором картинок, с показом только одной и синхрозированных между собой по прокручиванию колёсика.
Это сильно гемморойно выйдет?
Или есть более простой алгоритм?

ksa 21.12.2010 23:18

Цитата:

Сообщение от Nanto
Программированием занимался давным-давно (в институте)
...
С явой вообще первый раз сталкиваюсь (как и с html)

Может тогда не стоит так резко начинать?
Цитата:

Сообщение от Nanto
Но все когда-то начинали

Но не сразу с такого "низкого старта"... :)

Nanto 21.12.2010 23:26

Конструктивно! :)
Только мне-то нужно решить ОДНУ (пусть и не маленькую) практическую задачу! Вряд ли только для этого стоит пускаться в теоретические дебри!

Подскажите уж что-нибудь!

Авось получтся!.. :)

Nanto 21.12.2010 23:30

Тем более я не собираюсь сам скрипты писать.

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

Разве трудно запустить одновременно пять, расположить посередине страницы и "заставить" корректно отбражаться в новых браузерах (хотя с этим, видимо, будет главная подлянка...)
Чую, надо искать другое решение. А может вообще другими методами веб-дизайна подобную задачу решить? Или тут только java-скрипты "рулят"?

ksa 22.12.2010 09:52

Цитата:

Сообщение от Nanto
Вряд ли только для этого стоит пускаться в теоретические дебри!

Тебе видней... :D

dmitriymar 22.12.2010 09:59

можно всё-вопрос в деньгах:yes:

Nanto 22.12.2010 21:05

а что тут "видного"? :)

чай не боги горшки обжигают!

как и думал, основные проблемы в том, что большинство кодов пишут "криворукие обезьяны" которые чхать хотели на синтаксис... :)

сегодня поковырялся...
получилось и отцентровать, и "полноразмеры" нормально запихать, и в IE7 заработала (Opera как всегда "впереди планеты всей" :( ).

осталось только с масштабированием разобраться...

пожалуй проще будет не пять каруселей лепить, а с размерами "контейнеров" похимичить. единственное - вроде элементы не нумерованы и их надо определить. но там в скрипте прописана функция вызова после каждого цикла "анимации".
придётся самому ковырятся, раз уж все тут такие жадные! :-/
тоже мне, мля, форум...

x-yuri 23.12.2010 07:20

Цитата:

Сообщение от Nanto
Только мне-то нужно решить ОДНУ (пусть и не маленькую) практическую задачу!

а смысл тебе помогать? Это же не техподдержка (не форум альтруистов), здесь люди опытом обмениваются... ;)

Цитата:

Сообщение от Nanto
тоже мне, мля, форум...

Для чего нужен форум?

Nanto 24.12.2010 07:07

Ты смотри!.. Прям каста избранных!
А со мной опытом поделиться - религия не велит?

Если бы уж и захотел, чтобы за меня всё за бабки сделали - то уж точно пошёл бы не на форум, а куда-нибудь к фрилансерам!

Ладно, всё пустозвонство и словоблудие!
Нех мне помогать - сам разберусь!
Адьёс амигос!

dmitriymar 24.12.2010 09:00

Nanto,
не за бабки ты не захотел-ты решил лохов поискать какие всё за тебя сделают на халяву

x-yuri 24.12.2010 09:53

Цитата:

Сообщение от Nanto
А со мной опытом поделиться - религия не велит?

повторяю второй раз: ты сделаешь один сайт и забудешь. Смысл?

Nanto 26.12.2010 07:04

Во мля, орден тамплиеров!.. :)
Тайное знание только на смертном одре преемникам передаём? :)

dmitriymar 26.12.2010 11:10

Nanto,
чего предлагаешь? кого валить собрался Горец -:haha: чтобы получить его знания и силу?

Nanto 26.12.2010 23:11

Ладно давайте конкретнее!..
Меня вот интересует вопрос авторского права! Кто в курсе?
Понятно что если я напишу на js скриптик - всё ок, ибо Open Source!
Беру чужой код и не ссылаюсь на автора - это ведь уже нарушение АП?
А если кто-то написал скрипт и выложил в сыободный доступ... Надо ли его упоминать в коде?..
А если использую библиотеки (типа jQuery)?..

Nanto 27.12.2010 15:15

Оп-па! А вот этого я не предусмотрел!..
Тестил карусель только на картинках с вертикальной ориентацией, а если в списке есть альбомная - всё идёт через ж..!
Поля (margin) тогда получаются разные и размер контейнера вычисляется как квадрат со стороной равной высоте картинки...
Ладно, размер контейнера я задал принудительно через CSS.
Но вот поля выровнять через CSS видимо нереально... Поскольку применить какие-то свойства стиля можно только к уже сгенерированному скриптом контейнеру, но не к картинке внутри него, так?
причём это болезнь всех каруселей что я видел (поля разного размера между картинками с вертикальной и горизонтальной ориентацией)... Это можно обойти? Как я понимаю, корректно реализовать анимацию в скрипте можно только при условии равенства длинны каждого контейнера?..
Видимо, если и можно, то все равно будеи коряво - некоторые элементы не будут вмещаться целиком на полосу прокрутки и т.д.

Тогда придётся делать квадратные боксы приятного вида и размещать картинки в них, в связи с этим несколько вопросов.
Вприведенном ниже куске .js, лишнее я выкинул (то что касается инициализации и анимации, оставил только то что кмк касается стиля оформления). С самим CSS я разберусь, а вот с "оформлением" в js туплю:
1) где (в какой функции или какой переменной) задаются размеры контейнера (или вычисляются) - хочу задать иx фиксированным значением (например 200x200 px.);
2) как разместить картинку посередине контейнера (по умолчанию они сдвинуты top, и видимо left);
3) можно ли в этот код ввести условие, чтобы вначале загружался фон контейнера (одинаковый для всех), а затем через z-index поверх уже лепилась картинка?

//бла-бла...
        var running = false, animCss=o.vertical?"top":"left", sizeCss=o.vertical?"height":"width";
        var div = $(this), ul = $("ul", div), tLi = $("li", ul), tl = tLi.size(), v = o.visible;

        if(o.circular) {
            ul.prepend(tLi.slice(tl-v-1+1).clone())
              .append(tLi.slice(0,v).clone());
            o.start += v;
        }

        var li = $("li", ul), itemLength = li.size(), curr = o.start;
        div.css("visibility", "visible");

        li.css({overflow: "hidden", float: o.vertical ? "none" : "left"});
        ul.css({margin: "0", padding: "0", position: "relative", "list-style-type": "none", "z-index": "1"});
        div.css({overflow: "hidden", position: "relative", "z-index": "2", left: "0px"});

        var liSize = o.vertical ? height(li) : width(li);   // Full li size(incl margin)-Used for animation
        var ulSize = liSize * itemLength;                   // size of full ul(total length, not just for the visible items)
        var divSize = liSize * v;                           // size of entire div(total length for just the visible items)

        li.css({width: li.width(), height: li.height()});
        ul.css(sizeCss, ulSize+"px").css(animCss, -(curr*liSize));

        div.css(sizeCss, divSize+"px");                     // Width of the DIV. length of visible images

//бла-бла...

function css(el, prop) {
    return parseInt($.css(el[0], prop)) || 0;
};
function width(el) {
    return  el[0].offsetWidth + css(el, 'marginLeft') + css(el, 'marginRight');
};
function height(el) {
    return el[0].offsetHeight + css(el, 'marginTop') + css(el, 'marginBottom');
};

})(jQuery);


P.S. Не знаю кстати, в этом куске представлены типичные для JS значения или что-то сделано посредством библиотеки (всё-таки jQuery подключен).

Nanto 27.12.2010 15:36

забыл добавить, в HTML карусель реализована как:

<script language="" type="text/javascript">
	jQuery(function(){
	   jQuery(".gallery").jCarouselLite({
              });
	});
</script>

<!-- и каждый контейнер выводится как элемент <li> списка <ul> -->

<div align="center" class="gallery"> 
  <ul>
	<li><a href="link"><img src="link"/></a></li>
	<!--........-->
           <li><a href="link"><img src="link"/></a></li>
  </ul>
</div>

dmitriymar 27.12.2010 17:00

смотри пред. посты :yes:

Nanto 27.12.2010 21:02

dmitriymar,
Не знаем? Или в очередной раз свою г..внистость показать хотим?
http://javascript.ru/tutorial/regexp...s#comment-3231

dmitriymar 27.12.2010 21:13

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

dmitriymar 27.12.2010 21:22

Цитата:

Сообщение от Nanto
Не знаем? Или в очередной раз свою г..внистость показать хотим?
http://javascript.ru/tutorial/regexp...s#comment-3231

ну и причём рег. выражения к картинкам?)

Nanto 27.12.2010 22:03

Цитата:

Сообщение от dmitriymar (Сообщение 85518)
ну и причём рег. выражения к картинкам?)

Цитата:

Сообщение от dmitriymar
ну и причём рег. выражения к картинкам?)

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

P.S. Ладно, забейте все на эту тему, мои дорогие советчики - накачал уже мануалов по jQuery-CSS - сам буду курить!..

dmitriymar 27.12.2010 22:09

Цитата:

Сообщение от Nanto
какой нафиг месяц??? два дня макисмум!

ну дак а зачем на нас тратить драгоценное время-неделю-если всего два дня нужно-чтобы выучить языки)

Nanto 27.12.2010 22:13

Мля, я фигею! ну и форум! :)
одно название!
Я что просил делать за меня сайт? или хотя бы переписывать плагин?
Просто спросил в каких функциях копать то, что мне надо изменить! делов для знающего на две минуты!
Вместо этого начинают учить жизни, торговаться и т.д.

А давайте я Вам совет дам!
Если на форумах человек задаёт вопрос и я знаю ответ - я ему обизательно его напишу и распишу, могу даже с примерами! И как ни странно мне (и не только мне, а большинству) и в голову не приходит спрашивать "А Вы мне за это что?"
Если мне нужно попыться продать свои услуги в какой-то деятельности - то форум это последнее место куда я обращусь! И уж тем более не в ответ на просьбу помочь разобраться!
Все программисты такие снобы законченные?
P.S. Вспомнилась старая народная мудрость - "Давайте Вы не будете говориьт мне что делать, а я не буду говорить куда Вам идти!" :)
Ладно, без обид - видимо у нас просто разные взгляды на жизнь. Чтож невелика потеря!

x-yuri 28.12.2010 05:22

во-первых, покажи как это выглядит

Цитата:

Сообщение от Nanto
Тайное знание только на смертном одре преемникам передаём?

а ты зайди на форум хирургов и спроси: "Мужики, я когда-то в школе биологию учил... так вот, меня тут апендицит попросили вырезать... короче он умер. Что я не так сделал?" Почему считается, что на хирирга надо учиться, а сайты - любая домохозяйка делать может?

Цитата:

Сообщение от Nanto
делов для знающего на две минуты!

откуда ты знаешь? И даже если так, у меня, например, нету желания лишний раз копаться в jQuery-плагинах

Цитата:

Сообщение от Nanto
А давайте я Вам совет дам!

только пришел на форум, а уже советы даешь?

Цитата:

Сообщение от Nanto
Если на форумах человек задаёт вопрос и я знаю ответ - я ему обизательно его напишу и распишу, могу даже с примерами!

не все так просто... начинающие редко могут объяснить свою проблему. Хотя если бы ты мог четко объяснить свою проблему, ты б скорее всего знал решение...

Цитата:

Сообщение от Nanto
И как ни странно мне (и не только мне, а большинству) и в голову не приходит спрашивать "А Вы мне за это что?"
Если мне нужно попыться продать свои услуги в какой-то деятельности - то форум это последнее место куда я обращусь! И уж тем более не в ответ на просьбу помочь разобраться!

ты думаешь, кто-то всерьез собирался заработать на этом денег?

Цитата:

Сообщение от Nanto
Все программисты такие снобы законченные?

покажи снобизм

Цитата:

Сообщение от Nanto
Ладно, без обид - видимо у нас просто разные взгляды на жизнь.

просто ты сюда один раз с вопросом пришел, а мы тут отвечаем постоянно. Вот давай ты тут потусуешься год, а там посмотрим, что ты скажешь ;)

ну и напоследок, почитай вот это

Nanto 28.12.2010 22:44

x-yuri,

О как! На пустобрехню и "тыканье" время есть? А по делу сказать?.. Пшик?

И не надо тут нагонять туману! Коли мозгов не хватает - так и надо сказать!
Не такие уж дебилы сюда приходят - в институте два года всё-таки С/С# учил.

И по поводу снобизма и форумных ответов - зайдите на любой фотофорум - там обычно есть "FAQ", где всё расписано! Но минимум раз в день создаётся дебильная тема "Цвета в браузере и винде не совпадают с фотошопом", и я не ленюсь в очередной раз объяснять - ставьте везде sRGB, отрубайте в ФШ профиль монитора и отключайте в Мозилле кривую CMS. Каких же душевных затрат требуют у вас мои вопросы - что на трёх страницах НИКТО НИ РАЗУ не сказал хоть какой-то малости по делу, зато флуда хоть одним местом жуй!

P.S. И эти придурковатые ссылки на топорный юмор от гуру веб-программирования (даже не заходил - просто глянул на ссылку) - ничто иное как реализация собственных комплексов и снобизм!

dmitriymar 28.12.2010 22:52

Цитата:

Сообщение от Nanto
Не такие уж дебилы сюда приходят - в институте два года всё-таки С/С# учил.

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

x-yuri 29.12.2010 15:08

Nanto, когда научишься читать, то что тебе пишут, заходи... на огонек ;)

x-yuri 17.03.2012 06:29

прости, а что ты ожидал от темы "HTML и CSS - говно" и высказываний "вы - мудаки"?


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