У меня есть следующий код, который использует JQuery, я хотел бы использовать только Angular. И я не знаю, как я могу это сделать. благодаря
var startProduct = $("#product-overview").position().top - 60;
var endProduct = $("#global-features").position().top + 150;
$(document).scroll(function () {
var y = $(this).scrollTop();
if ($routeParams.section) {
$("#product-submenu").show();
} else if (y > startProduct) {
$("#product-submenu").fadeIn();
} else {
$("#product-submenu").hide();
}
if (y > endProduct) {
$("#product-submenu").css("opacity", "0");
} else {
$("#product-submenu").css("opacity", "1");
}
});
$ - всего лишь ярлык для многих вещей; например $("#product-submenu")
- это короткая форма document.getElementById("product-submenu")
.
Вы также в случае функций .css
должны использовать document.getElementById("product-submenu").style.opacity = "1"
для обновления CSS, а не для функций доступа, предоставляемых jQuery.
Для .show()
и .hide()
вы можете использовать document.getElementById("product-submenu")
за которым следует .style.display="block"
и .style.display="none"
соответственно.
Что касается .fadeIn()
это потребует немного больше работы и может зависеть от вашего приложения, как вы хотите его реализовать. Если вы хотите использовать фантастические эффекты, такие как fadeIn
вы можете просто включить jQuery в первую очередь, но если это единственный, который вам нужен, вы можете написать функцию javascript, чтобы изменить непрозрачность элемента. Если эффект fadein не нужен, вы можете использовать display="block"
как указано выше, и пока он не будет исчезать, он покажет элемент.