我有这个代码在jquery中工作
<script type="text/javascript">
$(window).on('scroll', function () {
console.log($(window).scrollTop());
$('.parallax-background').css('top', '' + ($(window).scrollTop() / 5) + 'px');
});
</script>
Run Code Online (Sandbox Code Playgroud)
而我正试图把它翻译成棱角分明,这是我认为它应该是但它不起作用?
angular.module('twtscrollApp')
.controller('MainCtrl', function ($scope, $window) {
$window.on('scroll', function () {
angular.element('.parallax-background').css('top', '' + ($window.scrollTop() / 5) + 'px');
});
});
Run Code Online (Sandbox Code Playgroud)
我没有得到任何joshing错误,但它不工作,如果需要可以做一个jfiddle,但任何帮助赞赏.谢谢.
你所拥有的不起作用的原因是因为 angular.element 不能通过 jQuery 选择器工作,它只能通过标签名称工作。文档
为了得到你必须工作的东西,你必须改变
angular.element('.parallax-background')
Run Code Online (Sandbox Code Playgroud)
到:
angular.element(document.getElementsByClassName('.parallax-background')[0])
Run Code Online (Sandbox Code Playgroud)
话虽如此,您确实应该考虑通过指令而不是在控制器中执行此操作,因为它是放置 DOM 操作的适当位置。
| 归档时间: |
|
| 查看次数: |
767 次 |
| 最近记录: |