Javascript.RU

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

Сообщение от рони
Пожалуйста, отформатируйте свой код!
'text' + window["action" + (index+1)] + 'text'
Ответить с цитированием
  #12 (permalink)  
Старый 15.12.2018, 13:51
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

возврашает undefined



document.addEventListener("DOMContentLoaded", function() {
document.querySelector(".pages").addEventListener( "click", function(event) {
var target = event.target;
if (target = target.closest(".page")) {
var index = [].indexOf.call(document.querySelectorAll(".pages .page"));
document.querySelector(".action span").innerHTML = 'text' + ' ' + window["action" + (index+1)] + ' text';
if (target.querySelector("img")) {
alert("heloo world");
}
}
});
});
Ответить с цитированием
  #13 (permalink)  
Старый 15.12.2018, 14:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Hovik,
<!DOCTYPE html>

<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    </style>

    <script>
 var action1 = '20%';
 var action2 = '18%';
 var action3 = '16%';
 var action4 = '14%';
 var action5 = '12%';
 var action6 = '10%';
 var action7 = '8%';
 var action8 = '6%';
 var action9 = '4%';
 var action10 = '2%';

document.addEventListener("DOMContentLoaded", function() {
    document.querySelector(".pages").addEventListener("click", function(event) {
        var target = event.target;
        if (target = target.closest(".page")) {
            var index = [].indexOf.call(document.querySelectorAll(".pages .page"), target), str =  'text  ' + window["action" + (index+1)] + ' text';
            document.querySelector(".action span").innerHTML = str;
            if (target.querySelector("img")) {
                alert("heloo world");
            }
        }
    });
});
    </script>
</head>

<body>
<div class="pages">
<div class="page"><img src="#" alt="#">кнопка 1</div>
<div class="page"><span class="page-txt">кнопка 2</span></div>
<div class="page"><span class="page-txt">кнопка 3</span></div>
<div class="page"><span class="page-txt">кнопка 4</span></div>
<div class="page"><span class="page-txt">кнопка 5</span></div>
<div class="page"><span class="page-txt">кнопка 6</span></div>
<div class="page"><span class="page-txt">кнопка 7</span></div>
<div class="page"><span class="page-txt">кнопка 8</span></div>
<div class="page"><span class="page-txt">кнопка 9</span></div>
<div class="page"><span class="page-txt">кнопка 10</span></div>
</div>

<div class="action">
<span></span>
 </div>
</body>
</html>
Ответить с цитированием
  #14 (permalink)  
Старый 15.12.2018, 21:39
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Уважаемые рони, спасибо что пытались мне помочь, но не получилось.
функция работает до 10 дива, а далее undefined, там 4 pages внутри 40 page то-есть 1pages> 10page + 1pages> 10page + 1pages> 10page + 1pages> 10page
здесь по моему нужна работать с остатком от деления 10,
использовать оператор if
цикл for
return
это моё непрофессиональное мнение, я javascript очень мало знаю, но думаю что здесь проблема в структуре кода
нужна найти все диви в body class page создавая массив
из наших переменных создавать массив
вычислять индекс нажатого кнопку
патом из индекса вычислять остаток деление от 10
и с помощью результата вытаскивать из нашего массива по индексу нужную переменный.
Ответить с цитированием
  #15 (permalink)  
Старый 15.12.2018, 21:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Hovik,
не могу помочь.
Ответить с цитированием
  #16 (permalink)  
Старый 15.12.2018, 23:30
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Этот код написал я и в нем переменный (x) не магу вычислить. Это индекс из массива нажатого кнопку, поможете ?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>

<div class="pages">
<div class="page"><img src="#" alt="#">кнопка 1</div>
<div class="page"><span class="page-txt">кнопка 2</span></div>
<div class="page"><span class="page-txt">кнопка 3</span></div>
<div class="page"><span class="page-txt">кнопка 4</span></div>
<div class="page"><span class="page-txt">кнопка 5</span></div>
<div class="page"><span class="page-txt">кнопка 6</span></div>
<div class="page"><span class="page-txt">кнопка 7</span></div>
<div class="page"><span class="page-txt">кнопка 8</span></div>
<div class="page"><span class="page-txt">кнопка 9</span></div>
<div class="page"><span class="page-txt">кнопка 10</span></div>
</div>

<div class="pages">
<div class="page"><img src="#" alt="#">кнопка 1</div>
<div class="page"><span class="page-txt">кнопка 2</span></div>
<div class="page"><span class="page-txt">кнопка 3</span></div>
<div class="page"><span class="page-txt">кнопка 4</span></div>
<div class="page"><span class="page-txt">кнопка 5</span></div>
<div class="page"><span class="page-txt">кнопка 6</span></div>
<div class="page"><span class="page-txt">кнопка 7</span></div>
<div class="page"><span class="page-txt">кнопка 8</span></div>
<div class="page"><span class="page-txt">кнопка 9</span></div>
<div class="page"><span class="page-txt">кнопка 10</span></div>
</div>

<div class="pages">
<div class="page"><img src="#" alt="#">кнопка 1</div>
<div class="page"><span class="page-txt">кнопка 2</span></div>
<div class="page"><span class="page-txt">кнопка 3</span></div>
<div class="page"><span class="page-txt">кнопка 4</span></div>
<div class="page"><span class="page-txt">кнопка 5</span></div>
<div class="page"><span class="page-txt">кнопка 6</span></div>
<div class="page"><span class="page-txt">кнопка 7</span></div>
<div class="page"><span class="page-txt">кнопка 8</span></div>
<div class="page"><span class="page-txt">кнопка 9</span></div>
<div class="page"><span class="page-txt">кнопка 10</span></div>
</div>

<div class="pages">
<div class="page"><img src="#" alt="#">кнопка 1</div>
<div class="page"><span class="page-txt">кнопка 2</span></div>
<div class="page"><span class="page-txt">кнопка 3</span></div>
<div class="page"><span class="page-txt">кнопка 4</span></div>
<div class="page"><span class="page-txt">кнопка 5</span></div>
<div class="page"><span class="page-txt">кнопка 6</span></div>
<div class="page"><span class="page-txt">кнопка 7</span></div>
<div class="page"><span class="page-txt">кнопка 8</span></div>
<div class="page"><span class="page-txt">кнопка 9</span></div>
<div class="page"><span class="page-txt">кнопка 10</span></div>
</div>

<div class="action" >
<span id="action">text</span>
</div>


<script>

var action = [20, 18, 16, 14, 12, 10, 8, 6, 4, 2]; //наши переменый
var buttons = document.getElementsByClassName("page"); // все класы в массиве
var x = 34; // индекс нажатаго кнопку ?
var y = x % 10; // остаток от деление
var z = action[y-1]; // получаем нужны резултат
document.getElementById('action').innerHTML = 'text ' + z + ' %' + ' text'; //выставляем значения

console.log(action);
console.log(buttons);
console.log(x);
console.log(y);
console.log(z);

</script>
</body>
</html>
Ответить с цитированием
  #17 (permalink)  
Старый 20.12.2018, 01:30
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Люди наконец то у меня все получилось, хотя хочу признаться намного благодаря профессиональному программисту рони,
вот код если каму нибудь понадобиться.

var text1 = "text";
var text2 = "text";
let actions = [20, 18, 16, 14, 12, 10, 8, 6, 4, 2]
let buttons = document.querySelectorAll('.page');
for (let i = 0; i < buttons.length; i++) {
let button = buttons[i];
let result = i % 10;
button.onclick = function(e) {
document.querySelector(".action span").innerHTML = text1 + actions[result] + "%" + text2;
};
};
Ответить с цитированием
  #18 (permalink)  
Старый 20.12.2018, 08:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Hovik,

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить содержимое контейнера в переменную? snovapavel jQuery 0 27.11.2016 04:56
Как в фильтр выборки по атрибуту занести переменную? tanto39 jQuery 9 29.06.2014 01:53
Интересная задача: CheckBox + Span angek Элементы интерфейса 16 27.02.2013 16:22
span внутри span lamer Общие вопросы Javascript 5 11.02.2013 16:50
Как обозначить переменную выбранную в FileChooser? woo_hoo Общие вопросы Javascript 4 03.07.2008 12:58