JS - Изменение свойства.top

-3

У меня есть div, для которого я хочу изменить свойство top. В настоящее время он установлен в листе CSS, однако, когда моя функция завершена, я хочу, чтобы она изменилась.

Это код, который я пытался использовать, но он ничего не делает:

<script>
function reposition(){
var windowWidth = window.innerWidth;
if (windowWidth > 667) {
document.getElementById("SubmitAFilm").style.top = "100px";
}
}
window.addEventListener("resize",changeFontSize,false);

</script>

спросил(а) 2015-07-04T18:29:00+03:00 4 года, 7 месяцев назад
0
49

Вы должны установить положение: абсолютное на div, с которым вы двигаетесь.

Вот демонстрационная версия: https://jsbin.com/pevomekezu/1/edit?html,output

И пример кода:


<div id="SubmitAFilm" style="position:absolute">thefilm</div>
<script>
function reposition(){
var windowWidth = window.innerWidth;
if (windowWidth > 667) {
document.getElementById("SubmitAFilm").style.top = "100px";
console.log('changetop')
}
else {
document.getElementById("SubmitAFilm").style.top = "0px";
}
console.log('reposition')
}
window.addEventListener("resize",reposition,false);
</script>

Изменение: второе решение. Если вы не хотите использовать абсолютное позиционирование, вы можете использовать в своем скрипте "marginTop" вместо "top". Результат будет тем, что вы хотите.

ответил(а) 2015-07-04T18:38:00+03:00 4 года, 7 месяцев назад
50

Измените функцию, которую вы применяете в addEventListener чтобы reposition. Также вам нужно иметь position: absolute для top значения для работы.

function reposition() {
var windowWidth = window.innerWidth;
if (windowWidth > 667) {
document.getElementById("SubmitAFilm").style.top = "100px";
}
}
window.addEventListener("resize", reposition, false);
#SubmitAFilm {
position: absolute;
}
<div id="SubmitAFilm">Submit a Film</div>

ответил(а) 2015-07-04T18:37:00+03:00 4 года, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема