gpt4 book ai didi

angularjs - Angular 视差 - jquery 到 Angular

转载 作者:行者123 更新时间:2023-12-04 15:43:45 25 4
gpt4 key购买 nike

我有这段代码在 jquery 中工作

<script type="text/javascript">
$(window).on('scroll', function () {
console.log($(window).scrollTop());
$('.parallax-background').css('top', '' + ($(window).scrollTop() / 5) + 'px');
});
</script>

我正在尝试将其转换为有 Angular 的,这就是我认为应该是的,但它不起作用?
angular.module('twtscrollApp')
.controller('MainCtrl', function ($scope, $window) {
$window.on('scroll', function () {
angular.element('.parallax-background').css('top', '' + ($window.scrollTop() / 5) + 'px');
});
});

我没有收到任何开玩笑的错误,但它不起作用,如果需要,可以做一个 jfiddle,但任何帮助表示赞赏。谢谢。

最佳答案

你所拥有的不起作用的原因是因为 angular.element 不能通过 jQuery 选择器工作,它只能通过标签名称工作。 documentation

为了得到你必须工作的东西,你必须改变

angular.element('.parallax-background')

到:
angular.element(document.getElementsByClassName('.parallax-background')[0])

建议/推荐的解决方案:

话虽如此,您确实应该考虑通过指令而不是在 Controller 中执行此操作,因为它是放置 DOM 操作的合适位置。

关于angularjs - Angular 视差 - jquery 到 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27194816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com