JS в отдельном файле
Здравствуйте. Я написал скрипт в html файле, который работал. Позже я решил его перенести в отдельный файл. Я устранил все ошибки, но он не работает. Возможно, я где-то неправильно объявил или обратился.
Вот код, который был в html файле:
<script>
$(window).scroll(function () {
"use strict";
var element = $("#header"), display;
var element2 = $("#article").css({borderTopLeftRadius: 0, borderTopRightRadius: 0, borderBottomLeftRadius: 60, borderBottomRightRadius: 60 });
display = $(window).scrollTop() < 200;
display = element.css('opacity') && element.stop().animate({'opacity': display}, 500);
if ($(window).scrollTop() < 200) {
element2.animate({'borderTopLeftRadius': 0, 'borderTopRightRadius': 0}, 200);
} else {
element2.animate({'borderTopLeftRadius': 60, 'borderTopRightRadius': 60}, 200);
}
});
</script>
Вот код, который у меня написан в файле .js:
(window).onscroll = function () {
'use strict';
var element = document.getElementById('header').css({opacity: 1}),
element2 = document.getElementById('article').css({borderTopLeftRadius: 0, borderTopRightRadius: 0, borderBottomLeftRadius: 60, borderBottomRightRadius: 60});
if (window.scrollY() < 200) {
element.animate({'opacity': 1}, 500);
element2.animate({'borderTopLeftRadius': 0, 'borderTopRightRadius': 0}, 200);
} else {
element.animate({'opacity': 0}, 500);
element2.animate({'borderTopLeftRadius': 60, 'borderTopRightRadius': 60}, 200);
}
};
Может кто показать мне мою ошибку? Буду очень благодарен. |
rankery,
вы написали свою библиотеку для css, animate и прочего? |
Я написал функцию, которая запускается при скроле страницы. Она меняет стили элементов сайта если опустить ниже на определенное значение. Та, что выше, находилась в head html файла (работает). При попытки перенести ее в отдельный файл пришлось кое-что поменять, но работать она перестала. Возможно, я что-то неправильно записал там. На данный момент сама функция вызывается, но действия никакие не производятся.
|
rankery,
зачем что-то менять если оно работает, Цитата:
|
попробуй var element = document.getElementById('header').css({opacity: 1}),
в конце поставить ; вместо , |
arnoldson,
тоесть это нормально что у элемента вдруг появилось свойство css? |
Цитата:
|
Цитата:
|
Это же jQuery?
Вы в файле значёк $ не потеряли? А, хотя туплю. В файле просто JS. Или таки нет? Меня смущает запись document.getElementById('header').css({opacity: 1}) Емнип, в JS это должно выглядеть как-то так: document.getElementById('header').style.opacity = "1"; А вот это: element2.animate({'borderTopLeftRadius': 0, 'borderTopRightRadius': 0}, 200); вообще без jQuery не должно работать. Или я чересчур дремучий, или у вас там смесь какая-то. |
Я решал такое просто, возвращаещся в работающий вариант и переносиш по отдельности функции. От джери конечно, лучше отказаться, неужели ещё не понятно что зто вообще прикол. Не смотрел что у тебя, но что я у себя впихивал, заменилось тремя словами.
|
| Часовой пояс GMT +3, время: 19:30. |