Jump to content
  • 0

Вопрос требует решения) Галерея.


Endorphin
 Share

Question

Возник такой вопрос, JavaScript еще не учил, но интересует возможно ли например такое: У меня есть 3 пункта меню, пункт 1, пункт 2, пункт 3. Нужно чтобы при клике на пункт 1 показывались одни картинки на странице, а при клике на пункт 2 другие, и т.д. Собственно вопрос вот в чем, возможно ли с помощью скрипта изменить путь к картинке к примеру по умолчанию images/slides1/img1.png, а после клика по пункту images/slides2/img1.png, в теге img. Так как создавать 3 страницы разных ради того чтоб просто менять как то не очень :) кто сможет популярно объяснить как создать данный скрипт, если такое возможно конечно. К странице будет подключаться галерея Gamma Gallery

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0
<div class="gallery-main-block clearfix">    

  <div id="gallery">
    <div class="item-masonry sizer4 nav-portf">
      <nav>
        <button type="button">Индивидуальная</button>
        <button type="button">Love story</button>
        <button type="button">Семейная и детская</button>
        <button type="button">Свадебная съемка</button>
        <button type="button">Студийная съемка</button>
      </nav> 
    </div>
    
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img1.jpg" alt="img1"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img2.jpg" alt="img2"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img10l.jpg" alt="img10l"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img3.jpg" alt="img1"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img8l.jpg" alt="img8l"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img4.jpg" alt="img5"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img9l.jpg" alt="img9l"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img5.jpg" alt="img5"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img6.jpg" alt="img6"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img11l.jpg" alt="img11l"> 
    </div>


  </div>
  

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

Edited by Endorphin
Link to comment
Share on other sites

  • 0
1 час назад, by chris сказал:

@Endorphin, нужен код с подставленными значениями, чтобы отследить где ошибка.

 

	<script>
   var btn = document.querySelectorAll('button'),
        wrp = document.querySelector('.item-masonry'),
        img = wrp.querySelectorAll('img');

    [].forEach.call(btn, function(el, i) {
      el.addEventListener('click', function() {

        [].forEach.call(img, function(el) {
          var str = img[i].src,
              str = str.slice(img[i].src.indexOf('images')),
              re = /gallery\d+/gi,
              newstr;

          newstr = str.replace(re, 'gallery'+ (i+1));
          el.src = newstr;
          alert(newstr);

        });
      });
    }); 
  </script>

 

Link to comment
Share on other sites

  • 0
10 часов назад, by chris сказал:

Сейчас мы не можешь получить полную коллекцию картинок, т.к. .item-masonry не является  родителем для всех сразу. Вот идентификатор gallery, подойдет.

Тоесть в wrp записать id gallery место item-masonry?

Link to comment
Share on other sites

  • 0

Сработало, но теперь он переключает еще и изображения вложенные на одно и тоже изображение.

должно быть так.

<div class="item-masonry sizer4">
          <img src="images/gallery1/img9l.jpg" alt="img9l"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img5.jpg" alt="img5"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img6.jpg" alt="img6"> 
    </div>
    <div class="item-masonry sizer4">
          <img src="images/gallery1/img11l.jpg" alt="img11l"> 
    </div>

а после переключения происходит вот так


    <div class="item-masonry sizer4">
          <img src="images/gallery2/img11l.jpg" alt="img11l"> 
    </div>
<div class="item-masonry sizer4">
          <img src="images/gallery2/img11l.jpg" alt="img11l"> 
    </div>
<div class="item-masonry sizer4">
          <img src="images/gallery2/img11l.jpg" alt="img11l"> 
    </div>
<div class="item-masonry sizer4">
          <img src="images/gallery2/img11l.jpg" alt="img11l"> 
    </div>
<div class="item-masonry sizer4">
          <img src="images/gallery2/img11l.jpg" alt="img11l"> 
    </div>

скрипт блин вредный какой, или я вредный)

Link to comment
Share on other sites

  • 0

Я же скинул код. Смотри, на странице были разные изображения, нажимаю кнопку чтоб переключился каталог, по логике должна появиться другая галерея с изображениями, а получается что после переключения изменился каталог, и в путь подставились одинаковые изображения.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy