【发布时间】:2017-07-08 05:15:51
【问题描述】:
我正在使用两个函数来移动背景位置和缩放 div 的背景。他们在这里:
(function(shifting) {
var parallax = document.querySelectorAll(".shiftparallax"),
speed = -0.05;
window.onscroll = function() {
[].slice.call(parallax).forEach(function(el, i) {
var windowXOffset = window.pageYOffset,
elBackgrounPos = (windowXOffset * speed) + "px";
console.log(elBackgrounPos);
el.style.backgroundPositionY = elBackgrounPos;
});
};
})();
(function(zooming) {
var parallaxfacts = document.querySelectorAll(".parallaxfacts"),
constantsize = 100;
speed = -0.03;
window.onscroll = function() {
if (window.innerWidth > 1024) {
[].slice.call(parallaxfacts).forEach(function(el, i) {
var windowXOffset = window.pageYOffset,
elBackgrounScale = (windowXOffset / 950 * constantsize) + "%";
el.style.backgroundSize = elBackgrounScale;
});
}
};
})();
问题是我需要它们同时运行,但它们只能单独运行。如果它们都这样写 - 第二个只运行,第一个什么也不做。如果我删除第二个,第一个开始工作。我最近对 JS 有点生疏了,所以我想不通。有什么方法可以让它们都工作吗?
【问题讨论】:
-
请说明你是如何调用函数的以及在什么条件下调用。
-
@Difster 他们是 IIFE(他们自称)。
标签: javascript function