Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 12.05.2020, 16:57
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

Сообщение от рони Посмотреть сообщение
Сергей Ракипов,
без let blockMargin =

main.style.transform = 'translateY(' + blockHeinght+')';[/JS]
Предположу что let blockMargin = это лишняя созданная переменная по этому ее не нужно

main.style.transform = 'translateY(' + blockHeinght+')';
но что то перестало работать
и почему после второго + нет обозначение что пикселей
или не нужно
Ответить с цитированием
  #12 (permalink)  
Старый 12.05.2020, 17:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Сергей Ракипов,
blockHeinght если это число то добавьте px
+'px)';
Ответить с цитированием
  #13 (permalink)  
Старый 12.05.2020, 17:10
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

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

Спасибо
Ответить с цитированием
  #14 (permalink)  
Старый 12.05.2020, 17:22
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

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

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;


Скажите это нормальный код или инвалид на костылях
Ответить с цитированием
  #15 (permalink)  
Старый 12.05.2020, 17:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

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

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #16 (permalink)  
Старый 12.05.2020, 17:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Сергей Ракипов,
если можно то лучше менять class элементов, а не style
Ответить с цитированием
  #17 (permalink)  
Старый 12.05.2020, 17:50
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

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

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

Теоретическую часть 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;
}


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

И сразу на понимаю я извлекаю из куки функию, скрипт или стили?
И если нужно несколько стилей, например цвет и размер шрифта как сделать, тут всего один это положение.
Ответить с цитированием
  #18 (permalink)  
Старый 12.05.2020, 17:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Сообщение от Сергей Ракипов
Но у меня вот в чем вопрос
мне сложно понять, поток ваших сообщений и код. может быть кто-то другой поможет вам.
Ответить с цитированием
  #19 (permalink)  
Старый 12.05.2020, 21:37
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

рони,
Вопрос один как в это скрипте сделать 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;


я запутался и не получается.
Ответить с цитированием
  #20 (permalink)  
Старый 12.05.2020, 21:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вставлять переменную в span Hovik Общие вопросы Javascript 17 20.12.2018 08:30
узнать индекс кнопки из массива Hovik Общие вопросы Javascript 0 16.12.2018 02:20
Как сделать чтобы кнопка «Назад» работала бы в пределах определенного сайта? Askeer Общие вопросы Javascript 0 12.10.2016 18:58
Не работает кнопка "Наверх" dle 9.3 dunek_ Opera, Safari и др. 1 25.05.2013 18:26
Кнопка с запросом Logo424 Javascript под браузер 12 20.05.2013 19:29