Untitled

 avatar
unknown
html
3 years ago
5.4 kB
16
Indexable
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">

	<!-- задача 1:  да се създаде скрипт, при който чрез натискане на десен бутон на мишката върху някой параграф, 
        той получава цвят за фон, определен от полето data-color -->
	<!-- задача 2:  да се създаде скрипт, при който чрез натискане на клавиш W се увеличава размера на изображението по широчина 
        с по 10px, а при натискане на клавиш H се увеличава височината на изображението с по 15px -->
	<!-- задача 3:  да се създаде скрипт, при който чрез въвеждане на текст в едноредово поле се отчита натискането на клавиш 
        и се търси съвпадение в списък от елементи. При открито съответствие се оцветява само частта от въведеното. -->
	<script>
		document.addEventListener("DOMContentLoaded", () => {
			clean(document.body);

            const task1 = () => {
                let paragraphs = document.querySelectorAll('p');
                paragraphs.forEach(item => {
                    item.addEventListener('contextmenu', (e) => {
                        e.preventDefault();
                        e.target.style.background = e.target.dataset.color;
                    });
                });
            }

            task1();

            const task2 = () => {
                let img = document.querySelector('img');
                document.addEventListener('keydown', (e) => {
                    let arr = img.src.split('co/')[1].split('x');
                    let w = parseInt(arr[0]);
                    let h = parseInt(arr[1]);
                    if(e.code == 'KeyW'){
                        w += 10;
                    }
                    if(e.code == 'KeyH'){
                        h +=15;
                    }
                    img.src = 'https://placehold.co/'+w+'x'+h;
                });
            }
            
            task2();

            const task3 = () => {
                let input = document.querySelector('input');
                input.addEventListener('input', (e) => {
                    let items = document.querySelectorAll('.list-group-item');
                    items.forEach(li => {
                        li.innerText = li.innerText;
                        if(li.innerText.match(e.target.value) && e.target.value != ''){
                           let arr = li.innerText.split(e.target.value);
                           let clean = '<span style="background:red">'+ e.target.value + '</span>';
                           li.innerHTML = arr[0] + clean + arr[1];
                        }
                    });
                });

            }

            task3();
		});

		const clean = (node) =>
        {
          for(var n = 0; n < node.childNodes.length; n ++)
          {
            var child = node.childNodes[n];
            if
            (
              child.nodeType === 8
              ||
              (child.nodeType === 3 && !/\S/.test(child.nodeValue))
            )
            {
              node.removeChild(child);
              n --;
            }
            else if(child.nodeType === 1)
            {
              clean(child);
            }
          }
        }
	</script>
</head>
<body>
	<!-- задача 1 -->
	<div class="container my-4">
		<p data-color="red">lorem item 1</p>
		<p data-color="orange">lorem item 2</p>
		<p data-color="#1920A0">lorem item 3</p>
		<p data-color="#F97762">lorem item 4</p>
		<p data-color="#131399">lorem item 5</p>
		<p data-color="#559992">lorem item 6</p>
		<p data-color="#1116AA">lorem item 7</p>
		<p data-color="#330000">lorem item 8</p>
		<p data-color="green">lorem item 9</p>
		<p data-color="blue">lorem item 10</p>
	</div>
	<!-- задача 1 -->

	<!-- задача 2 -->
	<div class="container my-4">
		<img src="http://placehold.co/250x250" alt="">
	</div>
	<!-- задача 2 -->

	<!-- задача 3 -->

	<div class="container my-4">
		<input type="text" class="form-control">
		<ul class="list-group">
			<li class="list-group-item"> Lorem ipsum</li>
			<li class="list-group-item"> dolor sit</li>
			<li class="list-group-item"> amet consectetur</li>
			<li class="list-group-item"> adipisicing elit</li>
			<li class="list-group-item"> Facere nemo</li>
			<li class="list-group-item"> possimus in totam</li>
			<li class="list-group-item"> eos harum rem</li>
			<li class="list-group-item"> aliquam, eum recusandae quod</li>
			<li class="list-group-item"> odit! Necessitatibus quibusdam</li>
			<li class="list-group-item"> illum voluptatem nihil</li>
		</ul>
	</div>
	<!-- задача 3 -->

</body>
</html>