Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Такое можно на javaScript? (https://javascript.ru/forum/events/52257-takoe-mozhno-na-javascript.html)

tippula 10.12.2014 15:06

Такое можно на javaScript?
 
Совсем не силен на javaScript, вот можно ли такое сделать?

После загрузки страницы вставить один div элемент. Вставить div нужно примерно в середине страницы(по вертикали) перед заголовком (h1, h2, h3...). Вставлять только на больших по размеру страницах, больше определенного количества символов. Реализовать надо на чистом javaScript.

Заранее спасибо за подсказки! :)

tippula 10.12.2014 16:04

В общем алгоритм придумал:
Пример:
<div id="content">Наш контент еще контент <h3>заголовок ла ла</h3> еще контент еще контент</div>
Берем все из content, отрезаем слева 35% и справа 35%, в оставшемся после отрезания ищем первый попавшийся тег h. Затем заменяем на странице "<h3>заголовок ла ла</h3>", который мы нашли на "<div>Вставка перед h</div><h3>заголовок ла ла</h3>"

Помогите на javaScript его накидать, хотя бы примерно, спасибо!

kaflan 10.12.2014 17:42

можно реалтзовать на css

MallSerg 10.12.2014 21:07

Цитата:

Сообщение от tippula
вот можно ли такое сделать?

Конечно можно, делай =)

krutoy 10.12.2014 21:49

Вашк задачу весьма тупо можно решить
<html>
<head>
<meta charset="windows-1251">

</head>
<body>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>

<h1>h1</h1>

<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<div>foo</div>
<script>

text=document.body.innerHTML

str="<div>CONTENT</div>"
re=/(<\s*h\d\s*>[^>]+>)/i
if(text.length>500) text=text.replace(re, str+"$1")
document.body.innerHTML=text

</script>

</body>
</html>

Правда, страница будет перерисовываться.

kaflan 12.12.2014 12:03

Цитата:

Сообщение от krutoy
re=/(<\s*h\d\s*>[^>]+>)/i
37
if(text.length>500) text=text.replace(re, str+"$1")

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


Часовой пояс GMT +3, время: 12:22.