Обновлено: цель в javascript

У меня есть это в CSS:

#box:target {
    box-shadow: 0px 0px 20px black;
}

На «родительской» странице (page1) у меня есть кнопка, которая заставляет вас перейти на другую страницу: «page2.html#box». Таким образом, #box:target применяется, когда я загружаю страницу. Но с помощью кнопки на странице1 я активирую функцию, целью которой является изменение свойств #box:target. Я ищу способ изменить это в javascript. Не :focus.

box-shadow property, after activate a function можно пожалуйста поподробнее
brk 25.02.2019 11:04

Ваш вопрос довольно неясен. :target имеет отношение ничего такого к фокусировке. Вы спрашиваете о фокусировании или таргетинге?

Quentin 25.02.2019 11:04

Можете ли вы просто использовать псевдокласс :focus с другим стилем developer.mozilla.org/en-US/docs/Web/CSS/:focus?

maximelian1986 25.02.2019 11:23

Я бы предложил использовать :focus или :hover. Если вы хотите более плавную анимацию и избежать перекрашивать, я бы предложил установить дополнительную тень на псевдоэлементы :before и анимировать ее (см. Как анимировать box-shadow)

Jake 25.02.2019 11:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
130
1

Ответы 1

Notice to Readers

This Answer Concerns the Original Post First Draft

ОП был отредактирован на совершенно другой вопрос. Поэтому, если этот ответ сбивает с толку, вам нужно просмотреть изменения. Я прошу прощения за неудобства.


:target

Вам не нужен JavaScript для простого переключения стилей. Похоже, вы неправильно поняли требования, необходимые для реализации :target псевдокласса.


Требования

  1. Два тега <a>nchor и тег любого типа в качестве цели.

        <a>ON</a>  <a>OFF</a>  <section>SECTION</section> 
    

    One <a> will "turn on" the new <section> style and the other <a> will "turn it off".

  2. Затем <section> нужен #id. Оба <a> нуждаются в атрибуте href. Значения каждого href отличаются от других и специфичны (см. комментарий ниже этого примера):

          <a href = "">ON</a>     <a href = "">OFF</a>  <section id = "S">SECTION</section> 
    

    ON: Must be    ☝         OFF: Must be a ☝
    the #id of target: #S    "non-jumping" value #/

  3. В CSS добавьте два набора правил:

    1. Первый — это целевой тег по умолчанию (ВЫКЛЮЧЕННЫЙ):
      #S { width: 44vw; height: 44vw; border: 4px solid #444 }
      
    2. Второй — активированный целевой тег (НА). Суффикс псевдокласса :target:
      #S:target { text-shadow: 4px 4px 4px 4px #444; }
      
  4. Вот как примерно должен выглядеть HTML-макет:

       <a href = "#S">ON</a>  <a href = "#/">OFF</a>  <section id = "S">SECTION</section>
    

Демо

html,
body {
  font: 900 10vh/1 Consolas;
}

a {
  color: blue;
}

a:hover,
a:active {
  color: cyan;
}

#B {
  box-shadow: 12px 5px 8px 10px inset rgba(0, 0, 0, 0.4);
  border: 6px inset rgba(0, 0, 0, 0.8);
  width: 40vw;
  height: 40vh;
  font-size: 20vh;
  text-shadow: 4px 7px 2px rgba(0, 0, 0, 0.6);
}

#B:target {
  box-shadow: 12px -5px 4px 4px rgba(0, 0, 0, 0.4);
  text-shadow: 4px -3px 0px #fff, 9px -8px 0px rgba(0, 0, 0, 0.55);
}
<a href = "#B" class='on'>ON_</a><a href = "#/" class='off'>OFF</a>

<figure id='B' class='box'>
  <figcaption>BOX</figcaption>
</figure>

Я думаю, вы неправильно поняли мой вопрос. Я просто хочу изменить правила css, когда элемент нацелен, изменить, например, свойство boxShadow. Я прекрасно знаю, для чего нужен :target.

Alex 25.02.2019 17:09

Я абсолютно не задавал другого вопроса. Ты просто совсем не понимаешь, чего я хочу

Alex 26.02.2019 15:16

Объясните мне, что должен делать .box:target и почему в первой версии поста нет упоминания о дочерней или родительской странице? Что касается самой последней версии, почему вы изменили .box:target на #box:target? Также какое значение имеет родительская и дочерняя страницы, если их нет? Также что случилось с функцией из первой версии, почему ее нет в текущей версии? Я, наверное, не понимаю, но похоже, что никто другой тоже -- вы читали комментарии?

zer00ne 26.02.2019 23:54

Извините, что я не освоил HTML в совершенстве, есть люди, которые учатся, вы знаете. Так ты не можешь просто быть нормальным, пожалуйста, и объясни мне?

Alex 28.02.2019 15:16

И :target используется, когда элемент нацелен на его идентификатор с помощью тега a с href = "#element"

Alex 02.03.2019 12:37

Другие вопросы по теме