Search the Community
Showing results for tags 'DOM'.
-
Добрый день! Столкнулся с проблемой отображения информации из localStorage после перезагрузки страниц. Делаю to do list, добавление тасков, удаление проходит нормально, добавляются элементы в localStorage, но после перезагрузки список тасков пуст на странице. Сам код https://jsfiddle.net/zdbmsjv2/ Извиняюсь за чрезмерное количество комментариев. Писал для себя, чтобы не забыть потом.
- 1 reply
-
- js
- localstorage
-
(and 1 more)
Tagged with:
-
Добрый день! Помогите разобраться с работой метода closest(). В приведенном примере https://jsfiddle.net/ymnjo3tc/ , я делаю все "по инструкции": беру дочерний элемент и проверяю наличие у него родительского при помощи данного метода. Но в ответ всегда ловлю один и тот-же Exception. Какие бы я не пробовал проверять элементы. В чем может быть проблема? Где я допускаю ошибку? Да и вообще, применим ли этот метод на практике? И в каких ситуациях?
-
Решил использовать .webp для изображений на сайте, а также оптимизировать его через рекомендации google audits. Таким образом получилось следующее: <img src="image.webp" srcset="image-480.webp 480w, image-768.webp 768w, image-1024.webp 1024w" alt="alt" titile="title"/> Так как webp не поддерживается некоторыми браузерами, было решено использовать решение WebPJS. Теперь есть следующая проблема: решение заменяет атрибут src, но не трогает srcset. То есть изображения остаются неизменными и не отображаются. Есть следующая идея, но я, полагаю, это будет очень затратно в плане ресурсов, а также неизвестно, как это будет влиять на SEO (может, спасут теги <nofollow>?). Распарсить атрибут srcset Создать столько img-элементов, сколько указано изображений в атрибуте Зацепить у каждого измененный атрибут src Составить новый атрибут srcset и заменить его на первом img Остальные img будут помещены под тег nofollow с классом display:none; Пока описывал решение, подумал, что, возможно, это плохое решение в том плане, что тогда у меня возрастет количество запросов на сервер как раз на количество новосозданных img-элементов. Но не уверен, так ли это.
-
Уважаемые форумчане! Просьба помочь со скриптом. Краткая информация о скрипте: 1. Скрипт генерит 5 элементов img и добавляет их в один из двух пустых div. 2. Скрипт копирует все элементы из одного div в другой, при этом удаляя один элемент img. Получаем 5 и 4 элемента img в двух div. До этого момента все гладко. Далее скрипт должен при нажатии на lastChild левого div, которым является один из img удалять всех child из обоих div и генерить уже 10 и 9 соответственно (по схеме выше). Или, при нажатии на любой другой child в div кроме последнего, выдавать сообщение. Вот проблема заключается в том, что не получается прописать событие onclick на последнем child'e одного из div, чтобы произошел вызов функции. Заранее благодарю за помощь. Это проблемный участок скрипта: """" theLeftSide.lastChild.onclick= function nextLevel(){ // onclick.stopPropagation(); numberOfFaces += 5; //delete all childNodes while(theBody.firstChild){theBody.removeChild(theB ody.firstChild); generateFaces(); }} """" Весь скрипт: <!doctype html> <html> <head> <style> #rightSide { left: 500px; border-left: 2px solid black; width:500px; height:500px; position:absolute ;} #leftSide {width:500px; height:500px;position:absolute;} img{position:absolute;} </style> <meta charset="utf-8"> <title>Matching Game</title> <script> numberOfFaces =5; theLeftSide=document.getElementById("leftSide"); theRightSide =document.getElementById("rightSide"); theBody = document.getElementsByTagName("body")[0]; function generateFaces() { //1st for(i=1;i<=numberOfFaces;i++){ //2nd var i=1; while(i<=numberOfFaces){ // var image=document.createElement("img"); image.src="smile.png"; image.style.top=Math.floor(Math.random()*401)+"px"; image.style.left=Math.floor(Math.random()*401)+"px"; leftSide.appendChild(image); i++; } var leftSideImages = leftSide.cloneNode(true); leftSideImages.removeChild(leftSideImages.lastChild); rightSide.appendChild(leftSideImages); //part3 end } theLeftSide.lastChild.onclick= function nextLevel(){ // onclick.stopPropagation(); numberOfFaces += 5; //delete all childNodes while(theBody.firstChild){theBody.removeChild(theBody.firstChild); generateFaces(); } } theBody.onclick = function gameOver() { alert("Game Over!"); theBody.onclick = null; theLeftSide.lastChild.onclick = null; } </script> </head> <body onLoad="generateFaces()"> <h1>Matching Game</h1> <p>Click on the extra smiling face on the left.</p> <div id="leftSide"></div> <div id="rightSide"></div> </body> </html>
- 5 replies
-
- JS
- Javascript
-
(and 2 more)
Tagged with:
-
Есть страница с такой структурой <div id="Start"> | +—-<div> | +——- произвольное количество тегов, в том числе <div> | +——- произвольное количество тегов, в том числе <div> | +—-<DIV> Нужный тег Нужно получить объект <DIV>, помеченный красным цветом. Через GetElementById("Start").GetElementsByTag("DIV") не получается, т. к. из-за произвольного количества тегов в предыдущем теге <div>, номер нужного тега всегда разный. Но он всегда второй относительно тега <div id="Start">. Как программно получить ссылку на этот объект? p.s. Программа на VBA, внешние библиотеки подключать нельзя.
-
Я тут про адаптивный дизайн... Как вы делаете такую штуку: есть элемент .block-item, на 1024 он расположен внутри .header, а при 768px, этот блок переходит в .footer, ну т.е. в совсем другое место. Думаю не редко такое видели, в макетах. Вот и хочется услышать, как такое делается? Понятно конечно, что самое просто это дублировать :-) Т.е. делать 2 элемента, и там и там, и менять у них display: block на none и обратно, но это же не кошерно. Может скрипты какие то есть, для таких манипуляций? А может у jquery есть что то встроенное, решающее этот вопрос двумя строчками? :-) Нашел вот такую штуку intentionjs, но на сколько я понял, там то же самое дублирование. Хотя может я не просек фишку.