Вход

Просмотр полной версии : Такое можно на javaScript?


tippula
10.12.2014, 15:06
Совсем не силен на 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
вот можно ли такое сделать?
Конечно можно, делай =)

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
re=/(<\s*h\d\s*>[^>]+>)/i
37
if(text.length>500) text=text.replace(re, str+"$1")

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