Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Цепочка выполнения действий (https://javascript.ru/forum/jquery/55226-cepochka-vypolneniya-dejjstvijj.html)

avantyrist 18.04.2015 17:48

Цепочка выполнения действий
 
Пытаюсь сделать галерею изображений, там слайдер, переключение картинок всё завязано на Индексах етих картинок :). Но возник ступорный момент :(

<div id="modal_gallery">
    <div class="modal_title"></div>
    <div id="next_img_modal">next</div>
    <div id="prev_img_modal">prev</div>

<div id="fbox_img_modal">
  <div class="slide">
       <img title="рисунок1" src="......">
  </div>
  <div class="slide thumb_select">
       <img title="рисунок1" src="......">
  </div>
  <div class="slide">
       <img title="рисунок1" src="......">
  </div>
</div>

</div>

var modal_gallery=jQuery('#modal_gallery'),
     next_img=modal_gallery.find('#next_img_modal');

next_img.click(function(){
 if(jQuery(this).hasClass('dnone')){
    return false
  } else {
var 	select_thumb=jQuery('#fbox_img_modal .thumb_select');

select_thumb.removeClass('thumb_select').next()
			.addClass('thumb_select')
			.children('img').attr('title',function(){
							var	title=jQuery(this).attr('title');
							modal_gallery.find('.modal_title').text(title);	
							});
};});


Чюток опишу что происходит в цепочке при клице на next_img:
1) у контейнера с Классом -- "thumb_select" удаляю етот клас.
2) Ищю следующий елемент и присваиваю ему класс -- "thumb_select"
3) Определяю вложенный елемент.

И вот теперь у меня начинается каша !!! По задумке надо определить значение Атрибута 'title' и засунуть его в определённый блок .modal_title

Тот кусок скрипта который выше описал работает. Но сам понимаю что ето очень криво-косо.
Подскажите пожалусто каким образом можно осушествить такого рода цепочку действий правильнее-- так сказать красивее

рони 18.04.2015 17:56

avantyrist,
может целиком макет сделаите?

4 строка - у вас что много одинаковых id ?

avantyrist 18.04.2015 18:00

там не ID а класс, ето я для примера указал, чтоб видно было куда значение должно вставиться, Щас постораюсь накидать макет

Вроде максимально переписал первый пост.

avantyrist 18.04.2015 18:45

https://jsfiddle.net/Avantyrist/ba6uqnvw/

Вот тута макет

рони 18.04.2015 19:23

avantyrist,
вариант https://jsfiddle.net/ba6uqnvw/2/

avantyrist 18.04.2015 23:46

Спасибо Вам
Никогда бы не додумался до такого:
var title = slides
               .removeClass('thumb_select')
               .eq(indx)
               .addClass('thumb_select')
               .children('img')
               .attr('title');


Можно пожалуста ешё вопрос:
Запись такого вида:
slides = jQuery('.slide', modal_gallery), // вы так пишите
Аналогично выполняется? как запись ниже
slides =modal_gallery.find('.slide'),

Тоесть '.slide' будет искаться в уже записанной переменной modal_gallery
Просто интересна логика такой записи

рони 19.04.2015 00:12

avantyrist,
Цитата:

Сообщение от avantyrist
Запись такого вида:
slides = jQuery('.slide', modal_gallery), // вы так пишите
Аналогично выполняется? как запись ниже
slides =modal_gallery.find('.slide'),

одно и тоже -- до поиска элементов первая запись будет преобразована во вторую

avantyrist 21.04.2015 11:41

Как лучше тогда записывать ? :)

рони 21.04.2015 12:02

avantyrist,
как вам привычнее :)


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