Crie um arquivo JavaScript
para adicionar a funcionalidade de gerar os parágrafos quando o botão for clicado.
document.getElementById('generate-paragraph').addEventListener('click', function() {
const text = document.getElementById('text').value;
const output = document.getElementById('output');
const paragraphs = text.split(/\r?\n/).map((p, index, array) => {
let paragraph = p.trim();
if (paragraph) {
// Adiciona tags e
e uma quebra de linha se não for o último parágrafo
return `<p>${paragraph}</p>${index < array.length - 1 ? '
' : ''}`;
}
return '';
}).join('');
output.innerHTML = paragraphs;
});
Neste exemplo, o JavaScript pega o texto do `textarea`, divide-o em parágrafos com base em quebras de linha e cria elementos `p` para cada parágrafo. O resultado é então inserido na `div` com o ID `output`.
Lembre-se de vincular corretamente o arquivo CSS ao HTML e o arquivo JavaScript também. O arquivo `styles.css` deve ser vinculado no cabeçalho do HTML e o arquivo `script.js` deve ser vinculado logo antes do fechamento da tag `body`.
Este código já adiciona as tags `<p>` ao texto inserido no `textarea`. Quando o botão "Gerar Parágrafo" é clicado, o texto é dividido em parágrafos com base em quebras de linha e cada parágrafo é envolvido com tags ``<p>` e ``<p>`. O resultado é então inserido na `div` com o ID `output`.
Neste código, a função `map()` recebe três argumentos: o parágrafo atual (`p`), o índice do parágrafo (`index`) e o array de parágrafos (`array`). O código verifica se o parágrafo atual não está vazio e, em seguida, adiciona as tags ``<p>` e ``<p>` e uma quebra de linha (`
`) se não for o último parágrafo no array. O elemento ``<br>` é usado para criar uma quebra de linha no HTML.
Se você deseja que os parágrafos sejam exibidos inline (um após o outro na mesma linha) em vez de blocos (um abaixo do outro), você pode adicionar o seguinte código CSS:
p {
display: inline;
margin-right: 10px; /* Espaçamento entre os parágrafos */
}
Este código CSS define a propriedade `display` para `inline`, o que faz com que os elementos `<p>` sejam exibidos na mesma linha. A propriedade `margin-right` é usada para adicionar um espaço entre os parágrafos.
Certifique-se de que o arquivo CSS esteja vinculado ao arquivo HTML para que essas regras de estilo sejam aplicad
Copiar conteúdo
Para adicionar um botão que copia o resultado para a área de transferência após o botão "Gerar Parágrafo" ser clicado, você pode seguir os passos abaixo:
1. Adicione um botão HTML para a funcionalidade de copiar após a `div` de resultado:
<button id="copy-result" style="display: none;">Copiar Resultado</button>
Adicione o seguinte código JavaScript para copiar o conteúdo da `div` de resultado para a área de transferência quando o botão "Copiar Resultado" é clicado:
document.getElementById('copy-result').addEventListener('click', function() {
var resultDiv = document.getElementById('output');
var range = document.createRange();
range.selectNode(resultDiv);
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
try {
var successful = document.execCommand('copy');
var msg = successful ? 'successful' : 'unsuccessful';
console.log('Copying text command was ' + msg);
} catch (err) {
console.log('Oops, unable to copy');
}
window.getSelection().removeAllRanges();
});
Copiar o resultado com mensagem
// Copiar o resultado com mensagem
document.getElementById('copy-result').addEventListener('click', function() {
var resultDiv = document.getElementById('output');
var range = document.createRange();
range.selectNode(resultDiv);
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
try {
var successful = document.execCommand('copy');
if (successful) {
// Exibe uma caixa de diálogo de confirmação ao usuário
if (window.confirm("Seu conteúdo foi copiado com sucesso!")) {
// Remove o conteúdo da área de transferência
window.getSelection().removeAllRanges();
}
} else {
console.log('Ops, não é possível copiar');
}
} catch (err) {
console.log('Ops, não é possível copiar');
}
});
Este código adiciona um ouvinte de evento ao botão com o ID `copy-result`. Quando o botão é clicado, ele cria um `Range` que seleciona o conteúdo da `div` de resultado e adiciona esse `Range` à seleção atual do navegador. Em seguida, ele tenta executar o comando `copy`, que copia a seleção atual para a área de transferência. Finalmente, ele limpa a seleção atual do navegador