Todas as atividades
Quiz e Avaliação
Arrastar Palavras
O aprendiz arrasta palavras de um banco para preencher lacunas em um texto. Avalia vocabulário e compreensão contextual com menor esforço de digitação.
Conhecimento e compreensão
arrastar
banco de palavras
vocabulário
drag
Experimente
Arraste ou selecione uma palavra e escolha a lacuna. Clique em uma palavra posicionada para devolvê-la ao banco:
observável
ação
sentimento
subjetivo
Objetivos de aprendizagem bem escritos começam com um verbo de
___
mensurável e descrevem um comportamento
___
do aprendiz.
Sua resposta
Resposta esperada
Explicação
Código-fonte
PHP
Banco e lacunas
Apresenta as peças móveis e os destinos que podem recebê-las.
| 1 |
<?php // Exemplo didático reduzido: banco e lacunas recebem a mesma peça. ?>
|
| 2 |
<div class="atividade-drag-the-words">
|
| 3 |
<div class="banco-palavras">
|
| 4 |
<?php foreach ($q->banco as $palavra): ?>
|
| 5 |
<span class="palavra-banco" draggable="true"
|
| 6 |
data-id="<?= sanitizar($palavra->id) ?>"
|
| 7 |
data-texto="<?= sanitizar(t($palavra->texto)) ?>">
|
| 8 |
<?= t($palavra->texto) ?>
|
| 9 |
</span>
|
| 10 |
<?php endforeach; ?>
|
| 11 |
</div>
|
| 12 |
|
| 13 |
<span class="lacuna-alvo" data-resposta="<?= sanitizar(t($resposta)) ?>">
|
| 14 |
<span class="lacuna-texto">___</span>
|
| 15 |
</span>
|
| 16 |
</div>
|
CSS
Estados das peças
Destaca seleção, preenchimento e possibilidade de remoção.
| 1 |
.palavra-banco[data-estado="selecionada"] {
|
| 2 |
outline: 2px solid #818cf8;
|
| 3 |
}
|
| 4 |
|
| 5 |
.lacuna-alvo[data-estado="preenchida"] {
|
| 6 |
border-color: #6366f1;
|
| 7 |
}
|
| 8 |
|
| 9 |
.lacuna-alvo .palavra-banco {
|
| 10 |
cursor: pointer;
|
| 11 |
}
|
JavaScript
Movimentar palavras
Adiciona, substitui e devolve a mesma peça ao banco.
| 1 |
document.addEventListener('DOMContentLoaded', function () {
|
| 2 |
var banco = document.querySelector('.banco-palavras');
|
| 3 |
var lacuna = document.querySelector('.lacuna-alvo');
|
| 4 |
var palavraSelecionada = null;
|
| 5 |
|
| 6 |
function colocar(palavra) {
|
| 7 |
var anterior = lacuna.querySelector('.palavra-banco');
|
| 8 |
if (anterior) banco.appendChild(anterior);
|
| 9 |
lacuna.appendChild(palavra);
|
| 10 |
lacuna.dataset.estado = 'preenchida';
|
| 11 |
}
|
| 12 |
|
| 13 |
document.querySelectorAll('.palavra-banco').forEach(function (palavra) {
|
| 14 |
palavra.addEventListener('click', function () {
|
| 15 |
if (palavra.closest('.lacuna-alvo')) banco.appendChild(palavra);
|
| 16 |
else palavraSelecionada = palavra;
|
| 17 |
});
|
| 18 |
palavra.addEventListener('dragstart', function () { palavraSelecionada = palavra; });
|
| 19 |
});
|
| 20 |
|
| 21 |
lacuna.addEventListener('dragover', function (evento) { evento.preventDefault(); });
|
| 22 |
lacuna.addEventListener('drop', function () { if (palavraSelecionada) colocar(palavraSelecionada); });
|
| 23 |
lacuna.addEventListener('click', function () { if (palavraSelecionada) colocar(palavraSelecionada); });
|
| 24 |
});
|