Просмотр полной версии : Такое можно на javaScript?
Совсем не силен на javaScript, вот можно ли такое сделать?
После загрузки страницы вставить один div элемент. Вставить div нужно примерно в середине страницы(по вертикали) перед заголовком (h1, h2, h3...). Вставлять только на больших по размеру страницах, больше определенного количества символов. Реализовать надо на чистом javaScript.
Заранее спасибо за подсказки! :)
В общем алгоритм придумал:
Пример:
<div id="content">Наш контент еще контент <h3>заголовок ла ла</h3> еще контент еще контент</div>
Берем все из content, отрезаем слева 35% и справа 35%, в оставшемся после отрезания ищем первый попавшийся тег h. Затем заменяем на странице "<h3>заголовок ла ла</h3>", который мы нашли на "<div>Вставка перед h</div><h3>заголовок ла ла</h3>"
Помогите на javaScript его накидать, хотя бы примерно, спасибо!
MallSerg
10.12.2014, 21:07
вот можно ли такое сделать?
Конечно можно, делай =)
Вашк задачу весьма тупо можно решить
<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>
Правда, страница будет перерисовываться.
re=/(<\s*h\d\s*>[^>]+>)/i
37
if(text.length>500) text=text.replace(re, str+"$1")
не понятно. вообще чтотам проиходит) конечно такой синтаксис рабочий, но нечетабелен как бы пишите понятнее,я понимаю ты гуру и все такое, но какбы чувак пишетчто онначинающий а думать в двоичном джаваскритпе не каждому дано.)
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot