Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Заменить элементы при клике (https://javascript.ru/forum/dom-window/76002-zamenit-ehlementy-pri-klike.html)

SolomonRei 23.11.2018 21:44

Заменить элементы при клике
 
Добрый вечер.Есть меню.При клике на один из пунктов меню,первая запись должна поменяться с той,на которую кликнули.
Написал вот так.Но работает раз через раз.Или вообще отказывается заменять.

var height = '150px';

	$(function() {
		$('.rubricks-li-ico, .rubricks-li:first-child').on('click', function() {
			$('.rubricks-li').fadeIn(800, function() {
				$('.rubricks-up').css('height', height);
					var e = $('.rubricks-li:first-child').html();
					check(e);
			});
		});
	});

	function check(e) {
		$('.rubricks-li').on('click', function() {
						var s = $(this).eq(0).html();
						// alert(s);
						$(this).html(e);
						$('.rubricks-li:first-child').html(s);
					});
	}

<div class = "rubricks-up">
				<div class = "rubriks-ico"></div>
				<div class = "rubricks-li-ico"></div>
				<ul>
					<li class = "rubricks-li li-text-position-1"><a href = "#main">Главная рубрика<p class = "li-text-2">"Файлы"</p></a></li>
					<li class = "rubricks-li li-text-position-2" style="display: none;"><a href = "#mods">Моды</a></li></li>
					<li class = "rubricks-li li-text-position-3" style="display: none;"><a href = "#patches">Патчи</a></li></li>
				</ul>
			</div>

SolomonRei 23.11.2018 21:50

Проблема вот тут
var s = $(this).eq(0).html();

Как мне взять первый this,потому что у меня тут в alert три раза выводятся

рони 23.11.2018 21:55

SolomonRei,
измените логику, чтобы не назначать клик в клике (желательно никогда)

SolomonRei 23.11.2018 22:22

А как тогда мне сделать?
Я же сначала кликаю,появляется меню,затем опять по нужному элементу

рони 23.11.2018 22:37

SolomonRei,
http://javascript.ru/forum/showthrea...627#post442627


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