Кнопки в любом месте параграфа?
Цитата: Bondersan от 22.02.21, 19:05Как реализовать кнопки в любом месте параграфа?
Дополнительный инструмент:
Как реализовать время для появления, пропадание кнопки?
Период времени для кнопки?
Как реализовать кнопки в любом месте параграфа?
Дополнительный инструмент:
Как реализовать время для появления, пропадание кнопки?
Период времени для кнопки?
Цитата: SIZZZ от 22.02.21, 21:49Пробовал скрыть элемент с помощью JS, но как-то не получилось.
Есть такой костыльный вариант. Кнопка появляется через 2 секунды после перехода на параграф, через 4 секунды параграф обновляется и кнопка пропадает.if($$title !== $$from){
var кнопка = button("Кнопка","имя параграфа","*/+",function(){});
setTimeout(()=> print(кнопка),2000);
setTimeout(()=> update(),2000);
setTimeout(()=> goto($$title),4000);
}
Пробовал скрыть элемент с помощью JS, но как-то не получилось.
Есть такой костыльный вариант. Кнопка появляется через 2 секунды после перехода на параграф, через 4 секунды параграф обновляется и кнопка пропадает.
if($$title !== $$from){
var кнопка = button("Кнопка","имя параграфа","*/+",function(){});
setTimeout(()=> print(кнопка),2000);
setTimeout(()=> update(),2000);
setTimeout(()=> goto($$title),4000);
}
Цитата: Bondersan от 22.02.21, 22:04То есть можно попробовать вариант обновления параграфа?
Задать время, чтоб параграф обновлялся, через ХХХ время?
То есть можно попробовать вариант обновления параграфа?
Задать время, чтоб параграф обновлялся, через ХХХ время?
Цитата: Einharr от 23.02.21, 10:07Цитата: SIZZZ от 22.02.21, 21:49Пробовал скрыть элемент с помощью JS, но как-то не получилось.
Есть такой костыльный вариант. Кнопка появляется через 2 секунды после перехода на параграф, через 4 секунды параграф обновляется и кнопка пропадает.if($$title !== $$from){
var кнопка = button("Кнопка","имя параграфа","*/+",function(){});
setTimeout(()=> print(кнопка),2000);
setTimeout(()=> update(),2000);
setTimeout(()=> goto($$title),4000);
}Я вот так реализовывал:
setTimeout(function(){objID.style.opacity = 1;}, 100);
Ну и, соответственно, можно style.visibility = "hidden" использовать, или вообще удалять элемент. Ну, и Id элементу задать, и время transition выставить соответственно, чтобы работать с ним.
Цитата: SIZZZ от 22.02.21, 21:49Пробовал скрыть элемент с помощью JS, но как-то не получилось.
Есть такой костыльный вариант. Кнопка появляется через 2 секунды после перехода на параграф, через 4 секунды параграф обновляется и кнопка пропадает.if($$title !== $$from){
var кнопка = button("Кнопка","имя параграфа","*/+",function(){});
setTimeout(()=> print(кнопка),2000);
setTimeout(()=> update(),2000);
setTimeout(()=> goto($$title),4000);
}
Я вот так реализовывал:
setTimeout(function(){objID.style.opacity = 1;}, 100);
Ну и, соответственно, можно style.visibility = "hidden" использовать, или вообще удалять элемент. Ну, и Id элементу задать, и время transition выставить соответственно, чтобы работать с ним.
Цитата: SIZZZ от 23.02.21, 11:55У меня как раз проблема была в том, чтобы задать id элементу.
Например, создаю блок <div id ="obj"> Object </div>
Но js отказывается с ним работать почему-то
У меня как раз проблема была в том, чтобы задать id элементу.
Например, создаю блок <div id ="obj"> Object </div>
Но js отказывается с ним работать почему-то
Цитата: SIZZZ от 23.02.21, 12:31
Цитата: Einharr от 23.02.21, 12:01Загадочно. Можешь весь код элемента и функции запостить?
\ <div id ='myobj'> OBJ </div>
myobj = document.getElementById('myobj');
myobj.style.opacity = 0;В итоге: "Произошла ошибка кода: Cannot read property 'style' of null"
Со стандартными элементами всё работает:
PrefsButton.style.opacity = 0;
Цитата: Einharr от 23.02.21, 12:01Загадочно. Можешь весь код элемента и функции запостить?
\ <div id ='myobj'> OBJ </div>
myobj = document.getElementById('myobj');
myobj.style.opacity = 0;
В итоге: "Произошла ошибка кода: Cannot read property 'style' of null"
Со стандартными элементами всё работает:
PrefsButton.style.opacity = 0;
Цитата: SIZZZ от 23.02.21, 12:40Понял, в чем была проблема. Нужно скрывать элемент с небольшой задержкой, иначе js код выполняется раньше, чем создается элемент страницы.
Вот так работает:
\ <div id ='myobj'> OBJ </div>
setTimeout(()=>document.getElementById('myobj').style.opacity = 0,1);
Понял, в чем была проблема. Нужно скрывать элемент с небольшой задержкой, иначе js код выполняется раньше, чем создается элемент страницы.
Вот так работает:
\ <div id ='myobj'> OBJ </div>
setTimeout(()=>document.getElementById('myobj').style.opacity = 0,1);
Цитата: Einharr от 23.02.21, 13:27Цитата: SIZZZ от 23.02.21, 12:40Понял, в чем была проблема. Нужно скрывать элемент с небольшой задержкой, иначе js код выполняется раньше, чем создается элемент страницы.
Вот так работает:
\ <div id ='myobj'> OBJ </div>
setTimeout(()=>document.getElementById('myobj').style.opacity = 0,1);Ну да, причина в этом. Аксма рисует элементы, которые за \ в последнюю очередь. Почему - это к автору аксмы вопрос.
Таймаут не лучший вариант, костыль. По-хорошему нужно скрипт просто грузить отдельно, чтобы он после загрузки страницы срабатывал, но onload и DOMContentLoaded у меня сходу работать отказались. В теории можно пойти путем "заворачивания" в див уже после отрисовки, вот на такой манер:
org_html = document.getElementById("slidesContainer").innerHTML;
new_html = "<div id='slidesInner'>" + org_html + "</div>";
document.getElementById("slidesContainer").innerHTML = new_html;Или "рисовать" див с помощью JS:
var mainDiv = document.getElementById("spritesDiv"); //Находим материнский элемент и сохраняем в переменную, чтобы легче было обращаться к нему
var myObj=document.createElement("div"); //Создаем DIV-обертку, сохраняем в переменную
myObj.id = "someElem"; //Назначаем ID, чтобы можно было менять отображение через таблицу стилей
myObj.innerHTML = "СОДЕРЖИМОЕ"; //Внутренности DIV';
mainDiv.appendChild(myObj); //Прицепляем свежесозданный DIV к материнскому элементуНо через таймер да, проще.
Цитата: SIZZZ от 23.02.21, 12:40Понял, в чем была проблема. Нужно скрывать элемент с небольшой задержкой, иначе js код выполняется раньше, чем создается элемент страницы.
Вот так работает:
\ <div id ='myobj'> OBJ </div>
setTimeout(()=>document.getElementById('myobj').style.opacity = 0,1);
Ну да, причина в этом. Аксма рисует элементы, которые за \ в последнюю очередь. Почему - это к автору аксмы вопрос.
Таймаут не лучший вариант, костыль. По-хорошему нужно скрипт просто грузить отдельно, чтобы он после загрузки страницы срабатывал, но onload и DOMContentLoaded у меня сходу работать отказались. В теории можно пойти путем "заворачивания" в див уже после отрисовки, вот на такой манер:
org_html = document.getElementById("slidesContainer").innerHTML;
new_html = "<div id='slidesInner'>" + org_html + "</div>";
document.getElementById("slidesContainer").innerHTML = new_html;
Или "рисовать" див с помощью JS:
var mainDiv = document.getElementById("spritesDiv"); //Находим материнский элемент и сохраняем в переменную, чтобы легче было обращаться к нему
var myObj=document.createElement("div"); //Создаем DIV-обертку, сохраняем в переменную
myObj.id = "someElem"; //Назначаем ID, чтобы можно было менять отображение через таблицу стилей
myObj.innerHTML = "СОДЕРЖИМОЕ"; //Внутренности DIV';
mainDiv.appendChild(myObj); //Прицепляем свежесозданный DIV к материнскому элементу
Но через таймер да, проще.