Как можно изменить порядок двух блоков при нажатии на кнопку, чтобы они поменялись местами?

Как можно изменить код, чтобы скрипт работал при первом клике на кнопку, изменяя только значение свойства order для блоков?
  • 30 октября 2023 г. 10:49
Ответы на вопрос 1
Для реализации данного функционала можно использовать JavaScript и CSS. 

HTML-код должен включать два блока и кнопку:

```html
<div id="block1" class="block">Блок 1</div>
<div id="block2" class="block">Блок 2</div>
<button id="swapButton">Поменять местами</button>
```

CSS-код должен содержать стили для блоков и кнопки, а также определение порядка блоков:

```css
.block {
  width: 200px;
  height: 100px;
  background-color: lightblue;
  margin-bottom: 10px;
}

#block1 {
  order: 1;
}

#block2 {
  order: 2;
}

#swapButton {
  margin-top: 10px;
}
```

JavaScript-код должен добавить обработчик события на кнопку, который будет менять порядок блоков при каждом клике:

```javascript
const swapButton = document.getElementById('swapButton');
const block1 = document.getElementById('block1');
const block2 = document.getElementById('block2');

swapButton.addEventListener('click', function() {
  // Меняем порядок блоков
  if (block1.style.order === "") {
    // При первом клике устанавливаем порядок для блоков
    block1.style.order = "2";
    block2.style.order = "1";
  } else {
    // При последующих кликах меняем порядок блоков
    const currentOrder = block1.style.order;
    block1.style.order = block2.style.order;
    block2.style.order = currentOrder;
  }
});
```

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