Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.12.2018, 17:01
Новичок на форуме
Отправить личное сообщение для olegan4eg88 Посмотреть профиль Найти все сообщения от olegan4eg88
 
Регистрация: 25.11.2018
Сообщений: 9

Увеличить, уменьшить текст нажатием на него Задать вопрос
Добрый день всех с наступающим! Помогите решить задачу, а именно создать условие, сейчас при нажатии на Текст 1 он у нас увеличивается и окрашивается, также нужно сделать и для Текст 2. Но если один из span у нас уже увеличен, то при нажатии на следующий, предыдущий должен принять исходное значение. Таких span будет около сотни.
<span id="big">Текст 1.</span><br>
<span id="big">Текст 2.</span><br>

var span = document.querySelector('#big');
	span.onclick = function(){
		    span.style.fontSize = '13pt';
            span.style.fontWeight = 'bold';
            span.style.background = '#D9FFAD';
	}
Ответить с цитированием
  #2 (permalink)  
Старый 30.12.2018, 17:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

olegan4eg88,
id уникально, используйте класс.
Ответить с цитированием
  #3 (permalink)  
Старый 30.12.2018, 17:42
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,726

ID - уникальный идентификатор.
<div class="spans-container">
<span>Текст 1.</span><br>
<span>Текст 2.</span><br>
</div>
<style>.spans-container span.highlighted{font-size:13pt;font-weight:bold;background:#D9FFAD;}</style>
<script>
const container = document.querySelector('.spans-container');
const activeClass = 'highlighted';

container.addEventListener('click', function(e) {
    const target = e.target;
    if (!target || target.tagName.toLowerCase() !== 'span')
        return;

    if (target.classList.contains(activeClass))
        return void target.classList.remove(activeClass);

    const activeElement = container.querySelector('.' + activeClass);
    if (activeElement)
        activeElement.classList.remove(activeClass);

    target.classList.add(activeClass);
});
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 30.12.2018, 17:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Nexus,

<!DOCTYPE html>

<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .big.up {
            font-size: 13pt;
            background-color: #D9FFAD;
            font-weight: bold;
        }
    </style>

    <script>
        addEventListener("click", function (e) {
                var target = e.target;
                if (target && target.classList.contains("big")) {
                    var up = document.querySelector('.up');
                    if (up && up != target) up.classList.remove("up");
                    target.classList.toggle("up")
                }
            }

        );
    </script>
</head>

<body>
    <span class="big">Текст 1.</span><br>
    <span class="big">Текст 2.</span><br>
    <span class="big">Текст 1.</span><br>
    <span class="big">Текст 2.</span><br>
</body>

</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
Вставить текст в таблицу & задать id <td> lamer Общие вопросы Javascript 4 18.07.2012 22:21
Вопрос: И опять про offsetLeft... sigurd Общие вопросы Javascript 11 04.10.2010 14:06
Простой вопрос по JavaScript. Работа с датой. Помогите Hanuman Общие вопросы Javascript 3 30.07.2010 20:30
Вопрос по относительному позиционированию DIV XPOMOB (X)HTML/CSS 11 15.07.2009 17:02