Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 12.03.2019, 01:18
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

MC-XOBAHCK,
твои слова просто улыбнули, и напомнили кучу анекдотов про блонди, так что извинения излишни.
Ответить с цитированием
  #52 (permalink)  
Старый 23.03.2019, 10:48
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

Nexus, Malleys, помогите исправить этот скрипт

<script>
document.addEventListener('DOMContentLoaded',function() {
//const uriWithoutParams=location.pathname.split(/[#|?]+/i).shift();
var uriWithoutParams = '/menu/css/css3/transform.html'.split(/[#|?]+/i).shift();
var extension = uriWithoutParams.split('.').pop();
var uriParts = uriWithoutParams.replace('.' + extension, '').split('/').filter(function(part) {
return part.length;
});
var getClassName = function(index) {
return 'xyz' + index;
};
var maxPostfix = 5;
uriParts.forEach(function(uri, index) {
uri = '/' + uriParts.slice(0, ++index).join('/') + '.' + extension;
index = maxPostfix - (uriParts.length - index);
if (index <= 0)
return;
var className = getClassName(index);
[].forEach.call(document.querySelectorAll('a[href="' + uri + '"]'), function(node) {
node.classList.add(className);
if (index !== maxPostfix)
return;
var textNode = document.createElement('span');
textNode.textContent = node.textContent;
textNode.className = className;
node.parentNode.insertBefore(textNode, node);
node.parentNode.removeChild(node);
});
});
});
</script>
Ответить с цитированием
  #53 (permalink)  
Старый 23.03.2019, 10:53
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

9-12 строчки заменить на массив ['xyz1', 'xyz2', 'xyz3', 'xyz4', 'xyz5']
Ответить с цитированием
  #54 (permalink)  
Старый 23.03.2019, 17:20
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

как сделать массив?
Ответить с цитированием
  #55 (permalink)  
Старый 23.03.2019, 17:25
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Вы имеете в виду так?

var getClassName = function(index) {
return ['xyz1', 'xyz2', 'xyz3', 'xyz4', 'xyz5'][index];
};


А я думаю так!
function getClassName(index) {
	return 'xyz' + (index + 1);
};


Вам не учебник надо создавать, а учебник надо читать! https://learn.javascript.ru/ Вы уж не сердитесь, но вы такое читали?

И почему вы всегда всё пишете в один столбик? И даже если вам в примере напечатают код с отступами, вы все сворачиваете в одну сплошную простыню! (помните про маятник!) Рулоны кода!

Последний раз редактировалось Malleys, 23.03.2019 в 17:37.
Ответить с цитированием
  #56 (permalink)  
Старый 23.03.2019, 18:10
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

Сообщение от Malleys
var getClassName = function(index) {
return ['xyz1', 'xyz2', 'xyz3', 'xyz4', 'xyz5'][index];
};
ну да, чтобы можно было не xyz, с цифрой, а абсолютно разные имена классам задать, из таксономии растений
Ответить с цитированием
  #57 (permalink)  
Старый 25.03.2019, 15:30
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

Nexus,
насколько я поняла, если создать массив, то спан должен быть последним в массиве? возможно ли сделать чтобы было наоборот, сначала в массиве идёт наибольшее вложение и дальше по убыванию? и второй вопрос, можно ли сделать чтобы скрипт автоматически считал количество объектов в массиве и вставлял в 12 строку?
Ответить с цитированием
  #58 (permalink)  
Старый 25.03.2019, 15:37
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,736

Сообщение от Блондинка
если создать массив, то спан должен быть последним в массиве?
Не понял.

Сообщение от Блондинка
возможно ли сделать чтобы было наоборот, сначала в массиве идёт наибольшее вложение и дальше по убыванию?
Можно.

Сообщение от Блондинка
можно ли сделать чтобы скрипт автоматически считал количество объектов в массиве и вставлял в 12 строку
В каком массиве? Каких объектов? Вставлял как значение переменной maxPostfix?
Ответить с цитированием
  #59 (permalink)  
Старый 25.03.2019, 16:56
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

1. Ссылка которая заменяется на спан, тоесть самая последняя (с макс вложенностью.
3. В массиве (пост 55), объектов(ссылок), да переменной maxPostfix.
Ответить с цитированием
  #60 (permalink)  
Старый 25.03.2019, 17:09
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

9-11 строчки если заменить на массив
var getClassName = function(index) {
return ['xyz1', 'xyz2', 'xyz3', 'xyz4', 'xyz5'][index];
};
в котором пять объектов-ссылок с именами классов xyz*
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция для перевода размера из байтов в понятный для человека формат Антон Крамолов Ваши сайты и скрипты 4 05.04.2013 16:42
Изменить цвет при клике AndreyS jQuery 3 07.10.2012 16:27
Вопрос по относительному позиционированию DIV XPOMOB (X)HTML/CSS 11 15.07.2009 17:02
Можно ли одновременно изменить фон и текст в поле? Bad Request Events/DOM/Window 12 25.09.2008 23:10