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, время: 20:44. |