Добавление ссылки href в переменную строку / массив

#javascript #arrays #string #href #var

#javascript #массивы #строка #href #var

Вопрос:

У меня есть слайдер с js-кодом. У каждого слайда есть заголовок. Я создал заголовки в строке переменной, но есть ли возможность для этих элементов (заголовков) в этой строке?

Но у меня есть строка (массив), подобная:

 var titles = [
    'namefayee',
    'Champ App',
    'Shirt Design',
    'Post NL'
];
 

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

Например: https://codepen.io/fay10/pen/yLJwYBB

У этого человека есть заголовок с именем VIEW case, но в его коде он использует только одну ссылку для просмотра обращения, но у него есть фотографии большего количества обращений с той же ссылкой. Мой вопрос в том, как получить разные ссылки для каждого отдельного случая

 var msLinks = new MomentumSlider({
    el: slidersContainer,
    cssClass: 'ms--links',
    range: [0, 3],
    rangeContent: function () {
        return '<a class="ms-slide__link">View Case</a>';
    },
    vertical: true,
    interactive: false
});
 

как я могу прикрепить заголовки переменных к msLinks… при этом каждый заголовок содержит другую ссылку

Для кода вы можете просмотреть код в codepen, потому что я как-то не могу вставить сюда весь код. Мои извинения

Комментарии:

1. С помощью массива объектов.

Ответ №1:

Проверьте функцию rangeContent, я думаю, она принимает параметр, подобный приведенному ниже:

     rangeContent: function (i) {
        //Now you can check your condition and return the specific url;
        return url_array[i];
    },
 

Я думаю, это то, что вы ищете.


ОТРЕДАКТИРОВАНО

 var url_array = {
  'namefayee' => ['<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>'], 
  'Champ App' => ['<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>'], 
  'Shirt Design' => ['<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>'], 
  'Post NL' => ['<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>','<a class="ms-slide__link">View Case</a>']
};

 

и тогда вы можете сделать вот так:

     rangeContent: function (i) {
        //Now you can check your condition and return the specific url;
        
        var urls = '';
        
        switch(i){
          case 1:
            urls = url_array['namefayee'].join(' ') 
            break;
          default:
            urls = '<a class="ms-slide__link">View Case</a>';
            break;
        }
        
        return urls;
    },
 

Комментарии:

1. Хорошо, большое вам спасибо! Вы имеете в виду, как: rangeContent: function (i) { return youtube.com_PostNL[i] ; } , или как rangeContent: function (i) { //Теперь вы можете проверить свое состояние и вернуть конкретный URL; return url_var titles = [‘namefayee’, ‘Приложение чемпиона’, ‘Рубашка Design’, ‘Post NL’ ];[i]; }, Если это последний, у меня все еще есть один возвращенный URL, и я хочу 4 URL для каждого заголовка.

2. Итак, вам нравится показывать, например, 4 вида?

3. Я отредактировал вопрос и посмотрел, работает ли это для вас.

4. Если это работает для вас, пожалуйста, отметьте это как ответ.

5. Извините, у меня был еще один вопрос.. куда в коде я должен ее поместить?