Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Кнопка пользовательского соглашение (https://javascript.ru/forum/misc/80232-knopka-polzovatelskogo-soglashenie.html)

Сергей Ракипов 12.05.2020 16:57

Цитата:

Сообщение от рони (Сообщение 524125)
Сергей Ракипов,
без let blockMargin =

main.style.transform = 'translateY(' + blockHeinght+')';[/JS]

Предположу что let blockMargin = это лишняя созданная переменная по этому ее не нужно

main.style.transform = 'translateY(' + blockHeinght+')';
но что то перестало работать
и почему после второго + нет обозначение что пикселей
или не нужно

рони 12.05.2020 17:04

Сергей Ракипов,
blockHeinght если это число то добавьте px
+'px)';

Сергей Ракипов 12.05.2020 17:10

рони,
Да я уже сам попробовал методом тыка, сработало, просто пока синтаксис плохо знаю и делаю все как написано было.

Спасибо

Сергей Ракипов 12.05.2020 17:22

Ну вот вроде получилось

const termsOfUse = document.querySelector(".terms_of_use");
const iAgree = document.querySelector(".i_agree");
const main = document.querySelector(".main");
const test = 50;

setTimeout(function (){
termsOfUse.style.transform = "translateY(0%)";
termsOfUse.style.position = "fixed";
termsOfUse.style.top = "0" + "px";
}, 10);

function appearance(){
let blockHeinght = termsOfUse.getBoundingClientRect().height;
main.style.transform = "translateY(" + blockHeinght + "px)";


console.log(termsOfUse.getBoundingClientRect().height);

}
appearance();

function back(){
termsOfUse.style.transform = "translateY(-100%)";
termsOfUse.style.position = "";
termsOfUse.style.top = "0" + "px";	
	
let blockHeinght = termsOfUse.getBoundingClientRect().height;
main.style.transform = "translateY(" + "0"  + "px)";


console.log(termsOfUse.getBoundingClientRect().height);
}
iAgree.onclick = back;


Скажите это нормальный код или инвалид на костылях

рони 12.05.2020 17:23

Сергей Ракипов,
лучше макет, а не часть кода.
например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 12.05.2020 17:25

Сергей Ракипов,
если можно то лучше менять class элементов, а не style

Сергей Ракипов 12.05.2020 17:50

Цитата:

Сообщение от рони (Сообщение 524142)
Сергей Ракипов,
лучше макет, а не часть кода.

увидел что плохо, решил переделать

Но у меня вот в чем вопрос

Теоретическую часть localStorage я понял но на практике не могу реализовать

const termsOfUse = document.querySelector(".terms_of_use");
const iAgree = document.querySelector(".i_agree");
const main = document.querySelector(".main");

window.onload = function{
	if (localStorage.getItem("hide") !==null){
		let hideBlock = localStorage.getItem("hide");
		main.style.transform = translate;
	}
		setTimeout(function (){
		termsOfUse.style.transform = "translateY(0%)";
		}, 0);


		function appearance(){
		let blockHeinght = termsOfUse.getBoundingClientRect().height;
		main.style.transform = "translateY(" + blockHeinght + "px)";

		}
		appearance();

		function back(){
		termsOfUse.style.transform = "translateY(-100%)";

		let blockHeinght = termsOfUse.getBoundingClientRect().height;
		main.style.transform = "translateY(" + "0"  + "px)";
		localStorage.setItem("hide", "translate");

		}
		iAgree.onclick = back;
}


То есть я тут даже не понял что мне нужно в куки записать

И сразу на понимаю я извлекаю из куки функию, скрипт или стили?
И если нужно несколько стилей, например цвет и размер шрифта как сделать, тут всего один это положение.

рони 12.05.2020 17:54

Цитата:

Сообщение от Сергей Ракипов
Но у меня вот в чем вопрос

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

Сергей Ракипов 12.05.2020 21:37

рони,
Вопрос один как в это скрипте сделать localStorage

const termsOfUse = document.querySelector(".terms_of_use");
const iAgree = document.querySelector(".i_agree");
const main = document.querySelector(".main");
const test = 50;

setTimeout(function (){
termsOfUse.style.transform = "translateY(0%)";
termsOfUse.style.position = "fixed";
termsOfUse.style.top = "0" + "px";
}, 10);

function appearance(){
let blockHeinght = termsOfUse.getBoundingClientRect().height;
main.style.transform = "translateY(" + blockHeinght + "px)";


console.log(termsOfUse.getBoundingClientRect().height);

}
appearance();

function back(){
termsOfUse.style.transform = "translateY(-100%)";
termsOfUse.style.position = "";
termsOfUse.style.top = "0" + "px";	
	
let blockHeinght = termsOfUse.getBoundingClientRect().height;
main.style.transform = "translateY(" + "0"  + "px)";


console.log(termsOfUse.getBoundingClientRect().height);
}
iAgree.onclick = back;


я запутался и не получается.

рони 12.05.2020 21:42

Сергей Ракипов,
не могу помочь, подождите кого-то с продвинутой телепатией.


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