Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 24.02.2016, 20:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от olmensk
Теперь бы сделать как-то так, что б из 1го аккор. надпись осталась когда клацаешь на 2й.
скрипт именно это и делает
Ответить с цитированием
  #32 (permalink)  
Старый 24.02.2016, 20:52
Аспирант
Отправить личное сообщение для olmensk Посмотреть профиль Найти все сообщения от olmensk
 
Регистрация: 24.02.2016
Сообщений: 33

<div class="bottom1"></div><!--блок который будет закрашен выбранной картинкой из любого акордеона-->

<div class="bloknot"></div><!--блок в котором напишется название картинки которая закрасит блок bloknot-->
<!------------------------------------------------------------------------------------------------------------->
<section class="ac-container1"><!--аккордион1-->
<div>
 <input id="ac-1" name="accordion-1" type="checkbox" />
  <label for="ac-1">аккордеон1</label>
   <article class="ac-small">
     <ul class="list1">
       <li path-img="images/a1.jpg"><img src="images/a1.jpg" data-title="надпись a1"></li>
       <li path-img="images/a2.jpg"><img src="images/a2.jpg" data-title="надпись a2"></li>
     </ul>
   </article>
  </div>					
</section>
<!------------------------------------------------------------------------------------------------------------->
<section class="ac-container2"><!--аккордион2-->
<div>
 <input id="ac-2" name="accordion-1" type="checkbox" />
  <label for="ac-2">аккордеон2</label>
   <article class="ac-small">
     <ul class="list2">
       <li path-img="images/b1.jpg"><img src="images/b1.jpg" data-title="надпись b1"></li>
       <li path-img="images/b2.jpg"><img src="images/b2.jpg" data-title="надпись b2"></li>
     </ul>
   </article>
  </div>					
</section>


//a . 
$(function() {
    var arrText = [];
    $(".list1").each(function(indx, ul) {
        arrText[indx] = "";
        $("li", ul).click(function() {var img_path = $(this).attr("path-img"),title = $("img", this).data("title");
            $(".list1 li").css("border-color", "white");
            $(this).css("border-color", "#000");
            $(".bottom1").css("background", "url(" + img_path + ") repeat");
            arrText[indx] = title;
            $(".bloknot").html(arrText.join("<br>"))})
    })
});

// b 
$(function() {
    var arrText = [];
    $(".list2").each(function(indx, ul) {
        arrText[indx] = "";
        $("li", ul).click(function() {var img_path = $(this).attr("path-img"),title = $("img", this).data("title");
            $(".list2 li").css("border-color", "white");
            $(this).css("border-color", "#000");// Устанавливаем красную рамку у выбранной картинки
      $('.bottom1').css('background','url('+img_path+') repeat'); // Меняем фон страницы   
      arrText[indx] = title;
            $(".bloknot").html(arrText.join("<br>"))})   // пишем название 
	});            
});

Последний раз редактировалось olmensk, 24.02.2016 в 21:04.
Ответить с цитированием
  #33 (permalink)  
Старый 24.02.2016, 20:53
Аспирант
Отправить личное сообщение для olmensk Посмотреть профиль Найти все сообщения от olmensk
 
Регистрация: 24.02.2016
Сообщений: 33

Сообщение от рони Посмотреть сообщение
скрипт именно это и делает
нет, не делает, у меня надписи заменяются.

С каждого аккордеона, должно появиться в итоге по одной надписи, а получается что в пределах 1го аккордиона надписи меняются, а выбираешь во втором, то надпись из 2го заменяет надпись из 1го, а надо ,что б надпись "добавилась" снизу и было уже 2 надписи (1й и 2й аккодеоны) и так с третим и 4м.

Последний раз редактировалось olmensk, 24.02.2016 в 21:00.
Ответить с цитированием
  #34 (permalink)  
Старый 24.02.2016, 20:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

olmensk,
а зачем вы 2 скрипта вместо одного сделали????
Ответить с цитированием
  #35 (permalink)  
Старый 24.02.2016, 21:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

olmensk,
достаточно $(".list1, .list2"). или $(".ac-small") или $("ul")
перед циклом .each
Ответить с цитированием
  #36 (permalink)  
Старый 24.02.2016, 21:19
Аспирант
Отправить личное сообщение для olmensk Посмотреть профиль Найти все сообщения от olmensk
 
Регистрация: 24.02.2016
Сообщений: 33

Сообщение от рони Посмотреть сообщение
olmensk,
достаточно $(".list1, .list2"). или $(".ac-small") или $("ul")
перед циклом .each
заработало ))
Ответить с цитированием
  #37 (permalink)  
Старый 24.02.2016, 22:22
Аспирант
Отправить личное сообщение для olmensk Посмотреть профиль Найти все сообщения от olmensk
 
Регистрация: 24.02.2016
Сообщений: 33

Сообщение от рони Посмотреть сообщение
olmensk,
достаточно $(".list1, .list2"). или $(".ac-small") или $("ul")
перед циклом .each
Скажите пожалуйста ещё одно, последнее, вот у меня есть ещё один блок, как сделать подобное, что б в один блокнот записалось но с 3х аккордионов, НО 1и2 окрашивают bottom1, а 3й аккоридон окрашивает bottom2?

Просто если вставляю перед each ещё и list3, тогда аккордион закрашивает не тот div
а когда отдельно вставляю скрипт, то надпись из аккордионов 1и2 заменяется надписью из аккордиона3

<div class="bottom1"></div><!--блок1 который будет закрашен выбранной картинкой из любого акордеона 1и2-->

<div class="bottom2"></div><!--блок2 который будет закрашен выбранной картинкой из акордеона 3-->

<div class="bloknot"></div><!--блок в котором напишется название картинки которая закрасит блок bloknot-->
<!------------------------------------------------------------------------------------------------------------->
<section class="ac-container1"><!--аккордион1-->
<div>
 <input id="ac-1" name="accordion-1" type="checkbox" />
  <label for="ac-1">аккордеон1</label>
   <article class="ac-small">
     <ul class="list1">
       <li path-img="images/a1.jpg"><img src="images/a1.jpg" data-title="надпись a1"></li>
       <li path-img="images/a2.jpg"><img src="images/a2.jpg" data-title="надпись a2"></li>
     </ul>
   </article>
  </div>					
</section>
<!------------------------------------------------------------------------------------------------------------->
<section class="ac-container2"><!--аккордион2-->
<div>
 <input id="ac-2" name="accordion-1" type="checkbox" />
  <label for="ac-2">аккордеон2</label>
   <article class="ac-small">
     <ul class="list2">
       <li path-img="images/b1.jpg"><img src="images/b1.jpg" data-title="надпись b1"></li>
       <li path-img="images/b2.jpg"><img src="images/b2.jpg" data-title="надпись b2"></li>
     </ul>
   </article>
  </div>					
</section>
<!------------------------------------------------------------------------------------------------------------->
<section class="ac-container3"><!--аккордион3-->
<div>
 <input id="ac-3" name="accordion-1" type="checkbox" />
  <label for="ac-3">аккордеон2</label>
   <article class="ac-small">
     <ul class="list3">
       <li path-img="images/c1.jpg"><img src="images/c1.jpg" data-title="надпись c1"></li>
       <li path-img="images/c2.jpg"><img src="images/c2.jpg" data-title="надпись c2"></li>
     </ul>
   </article>
  </div>					
</section>

$(function() {
    var arrText = [];
    $(".list1, .list2").each(function(indx, ul) {
        arrText[indx] = "";
        $("li", ul).click(function() {var img_path = $(this).attr("path-img"),title = $("img", this).data("title");
            $(".list1 li").css("border-color", "white");
            $(this).css("border-color", "#000");
            $(".bottom1").css("background", "url(" + img_path + ") repeat");
            arrText[indx] = title;
            $(".bloknot").html(arrText.join("<br>"))})
    })
});


Это последнее, честное слово )
Ответить с цитированием
  #38 (permalink)  
Старый 24.02.2016, 23:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

olmensk,
$(function() {
    var arrText = [];
    $(".list1, .list2, .list3").each(function(indx, ul) {
        arrText[indx] = "";
        $("li", ul).click(function() {var img_path = $(this).attr("path-img"),title = $("img", this).data("title");
            $("li", ul).css("border-color", "white");    
            $(this).css("border-color", "#000");
            $(".bottom" + (indx == 2? 2 : 1)).css("background", "url(" + img_path + ") repeat");
            arrText[indx] = title;
            $(".bloknot").html(arrText.join("<br>"))})
    })
});

Последний раз редактировалось рони, 25.02.2016 в 01:56.
Ответить с цитированием
  #39 (permalink)  
Старый 24.02.2016, 23:38
Аспирант
Отправить личное сообщение для olmensk Посмотреть профиль Найти все сообщения от olmensk
 
Регистрация: 24.02.2016
Сообщений: 33

РОНИ, ты мегакрут! Огромнейшее спасибо от души! )))
Ответить с цитированием
  #40 (permalink)  
Старый 25.02.2016, 01:53
Аспирант
Отправить личное сообщение для olmensk Посмотреть профиль Найти все сообщения от olmensk
 
Регистрация: 24.02.2016
Сообщений: 33

Сообщение от рони Посмотреть сообщение
olmensk,
$(function() {
    var arrText = [];
    $(".list1, .list2, .list3").each(function(indx, ul) {
        arrText[indx] = "";
        $("li", ul).click(function() {var img_path = $(this).attr("path-img"),title = $("img", this).data("title");
            $(".list1 li").css("border-color", "white");
            $(this).css("border-color", "#000");
            $(".bottom" + (indx == 2? 2 : 1)).css("background", "url(" + img_path + ") repeat");
            arrText[indx] = title;
            $(".bloknot").html(arrText.join("<br>"))})
    })
});

Извини, извини, но.. почему-то только заметил цвет у блока не меняется (( . Надписи записываются как надо, а цвета не меняются ((
Что я не так делаю? (( непонимаю...

Вот эту надпись убираешь + (indx == 2? 2 : 1) и цвета меняются, но 3й аккордеон заливает цветом первый div и текст не вносится, а надпись оставляшь, текст вносится но цвета вообще не реагируют не в первом ни во втором ни в третем акордеоне.. (((

Последний раз редактировалось olmensk, 25.02.2016 в 01:55.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
фрактальный сыр x-yuri Оффтопик 76 23.11.2011 21:59
Как сделать чтобы ссылки открывались в родительском окне infom@n Общие вопросы Javascript 2 02.10.2011 00:05
О фрилансе (Личный опыт) free Оффтопик 105 18.08.2011 17:02
Как сделать так что бы ссылки мигали разными цветами? woo_hoo Общие вопросы Javascript 2 19.03.2010 11:28