Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 08.03.2019, 17:51
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

Сообщение от Блондинка
это степень вложенности
Это максимальное значение циферки, которая будет добавляться к строке "xyz".
При maxPostfix=3 у ссылки будет класс:
/menu/css/css3/transform.html - xyz3,
/menu/css/css3.html - xyz2,
/menu/css.html - xyz1

Сообщение от Блондинка
до обернуть в конструкцию DOMContentLoaded?
Да
Ответить с цитированием
  #32 (permalink)  
Старый 08.03.2019, 18:30
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

Ну как всегда я где-то накосячила...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title>transform</title>
<style type="text/css">
body { font: 14px normal Times, serif; }
div { border: 1px solid #ccc; padding: 5px; margin: 5px; }
a { text-decoration: none; color: #3c3vff; }
.xyz1 { color: #009900; }
.xyz2 { color: #11b311; }
.xyz3, .xyz4, .xyz5, .xyz6 .xyz7 { color: #28cc28; }
</style>
<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 = 'someText';
                    textNode.className = className;
                    node.parentNode.insertBefore(textNode, node);
                    node.parentNode.removeChild(node);
                }));
        });
}))();

</script>
</head>
<body>
<div class="menu" id="menu1">
<a href="/menu/html.html">HTML</a> 
<a href="/menu/css.html">CSS</a> 
<a href="/menu.html">menu</a> 
<a href="/js.html">JS</a> 
</div>
<div class="menu" id="menu2">
<a href="/menu/css/css3.html">CSS3</a><br/>
<div>
<a href="/menu/css/css3/transform.html">transform</a><br/>
<a href="/menu/css/css3/transform-origin.html">transform-origin</a><br/>
<a href="/menu/css/css3/transform-style.html">transform-style</a><br/>
</div>
</div>
</body>
</html>

или дело в браузере? на тел без изменений...
Ответить с цитированием
  #33 (permalink)  
Старый 09.03.2019, 11:27
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

Блондинка, у вас ошибки в 13 и 41 строках, касаются скобочек.
Ответить с цитированием
  #34 (permalink)  
Старый 09.03.2019, 12:22
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

13 ст. document.addEventListener('DOMContentLoaded',funct ion() {
так?
Ответить с цитированием
  #35 (permalink)  
Старый 09.03.2019, 12:24
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

41 ст. })());
так?
Ответить с цитированием
  #36 (permalink)  
Старый 10.03.2019, 09:20
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

и тишина... и никто не подскажет как правильно поставить скобки...
Ответить с цитированием
  #37 (permalink)  
Старый 10.03.2019, 11:00
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

Блондинка, сами думайте. Как правильно скобки расставить можно посмотреть в примерах кода, что были ранее.
К тому же вместо вопроса "так?" можно попробовать запустить вариант своего решения и узнать ответ сразу же.
Ответить с цитированием
  #38 (permalink)  
Старый 10.03.2019, 11:53
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

Я уже вариантов 50 перепробовала, всё не работает, может дело в
Сообщение от Malleys Посмотреть сообщение
UPD
или если нужна поддержка в старых браузерах (увидел doctype),
в другом?
Ответить с цитированием
  #39 (permalink)  
Старый 11.03.2019, 10:09
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

http://plnkr.co/edit/sEkReyGqTJvgPLIdULKV?p=preview
Ответить с цитированием
  #40 (permalink)  
Старый 11.03.2019, 14:24
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

Попробую на словах объяснить, раз не получается скриншот загрузить, сайты https://jsfiddle.net и http://plnkr.co с телефона не откроешь, а каждый раз бегать к соседям на пк, так они просто пошлют.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция для перевода размера из байтов в понятный для человека формат Антон Крамолов Ваши сайты и скрипты 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