@HovardRork
Верстальщик

Как сделать так, чтобы при повторном клике на элемент оставался на месте?

Есть функция, которая листает страницы

<div id="vid"></div>
<div id="func"></div>

<div class="button_capse">
    <div id="butVid" name="vid" ></div>
    <div id="butFunc" name="func"></div>
</div>


function scrollLeft (name) {

name.on('click', function() {
	let $elem = $('#' + $(this).attr('name'));
	if ($oldElem.css('left') == '0px') {
		$oldElem.animate({left: '2000px'}, 300, function() {$(this).css({'display': 'none', 'left': '-2000px'})})
	}
	if ($elem.css('left') == '-2000px') {
		$elem.css('display', 'block').animate({left: '0px'}, 300)
	}
	$oldElem = $elem
})

}

let $oldElem = $('#index_wrap')
scrollLeft($('#butVid'))
scrollLeft($('#butFunc'))

При клике на $elem свойство left становится 0. Но при повторном клике по $elem он пропадает, так как присваевается $oldElem в конце функции.
Как сделать так, чтобы при повторном клике на $elem он оставался на месте?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
@HovardRork Автор вопроса
Верстальщик
Решение нашел, изменив эту строчку
if ($oldElem.css('left') == '0px' && ($oldElem.attr('id') !=  $elem.attr('id'))) {
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы