Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   можно ли изменить цвет ссылок? и одну ссылку заменить на текст? (https://javascript.ru/forum/misc/76934-mozhno-li-izmenit-cvet-ssylok-i-odnu-ssylku-zamenit-na-tekst.html)

Блондинка 19.09.2019 21:59

Malleys,
а можно уточнить один момент в твоём посте?

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

Блондинка 21.09.2019 04:34

народ, как исправить 33 строку? отнять надо два пикселя, чтобы прокручивало не до самой ссылки а только прятала предыдущую ссылку, а расстояние между ссылками(маргин) было в видимой области?
<!DOCTYPE html>
<html lang="ru">
<head>
	<title>Cactaceae</title>
	<style>
		body { font: 14px normal Times, serif; }
		div { border: 1px solid #999; padding: 5px; margin: 5px; }
		a { color: #005aff; text-decoration: none; } 
		a:visited { color: #5995ff; text-decoration: none; } 
		a:hover { color: #7a00ff; text-decoration: none; }
		.act { text-decoration: underline; }
		.efg { color: #167016; }
		.def { color: #127a12; }
		.cde { color: #0d850d; }
		.bcd { color: #068f06; }
		.abc { color: #009900; }
	</style>
	<script>
	document.addEventListener("DOMContentLoaded", function() {
			var links = Array.prototype.slice.call(document.links);
			var classes = ["act",  "abc", "bcd", "cde", "def", "efg"];
			var href = location.href;
			for(var index = 0, length = links.length, link; index < length; index++) {
				link = links[index];
				for(var level = 0, part = href; level < classes.length; level++) {
					if(link.href === part || link.href === part + "/") {
						if(level === 0) {
							var p = document.createElement("span");
							p.className = classes[level];
		p.innerHTML = link.innerHTML;
link.parentNode.replaceChild(p, link);

	p.scrollIntoView();
} else {
	link.className = classes[level];
						}
						break;
					}
					part = part.replace(/\/[^/]*\/?$/, "");
				}
			}
		});
         </script>
</head>
<body>
<div class="menu" id="menu1">
	<a href="/razdel/">razdel/</a><br>
	<a href="/razdel/01.html">page-01</a><br>
	<a href="/razdel/02.html">page-02</a><br>
	<a href="/razdel/03.html">page-03</a>
	<div class="menu" id="menu2">
		<a href="/razdel/podrazdel/">podrazdel/</a><br>
		<a href="/razdel/podrazdel/01.html">page-01</a><br>
		<a href="/razdel/podrazdel/02.html">page-02</a><br>
		<a href="/razdel/podrazdel/03.html">page-03</a>
		<div class="menu" id="menu3">
			<a href="/razdel/podrazdel/podpodrazdel/">podpodrazdel/</a><br>
			<a href="/razdel/podrazdel/podpodrazdel/01.html">page-01</a><br>
			<a href="/razdel/podrazdel/podpodrazdel/02.html">page-02</a><br>
			<a href="/razdel/podrazdel/podpodrazdel/03.html">page-03</a>
			<div class="menu" id="menu4">
				<a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/">podrazdel-a/</a><br>
				<a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/01.html">page-01</a><br>
				<a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/02.html">page-02</a><br>
				<a href="/razdel/podrazdel/podpodrazdel/podrazdel-a/03.html">page-03</a>
			</div>
		</div>
	</div>
</div>
</body>
</html>

Блондинка 21.09.2019 15:59

Блин, неужели и сейчас неправильно сформулировала вопрос, неужели непонятно о чем я спрашиваю?

рони 21.09.2019 16:12

Блондинка,
попробуйте так,
p.scrollIntoView(); window.scrollBy(0,-5);


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