我已经编写了一个脚本,在滚动时更改了对象yPos,这对我来说非常合适,但我希望代码在加载时运行,因为元素在加载时位置错误。 / p>
所以这是完整的代码:
$(document).ready(function(){
$(window).bind("scroll", function(event) {
$(".think:in-viewport").each(function() {
$window = $(window);
$elementOffset = $('.think').offset().top;
console.log($elementOffset);
$('html.no-touch div[data-type="backgroundthink"]').each(function(){
var $bgobj = $(this);
$(window).scroll(function() {
var yPos = -(($window.scrollTop() - $elementOffset) / $bgobj.data('speed'));
console.log(yPos);
var coords = '50% '+ yPos + 'px';
$bgobj.css({ backgroundPosition: coords });
});
});
});
});
});
并且在这个函数中我想要
var yPos = -(($window.scrollTop() - $elementOffset) / $bgobj.data('speed'));
console.log(yPos);
var coords = '50% '+ yPos + 'px';
$bgobj.css({ backgroundPosition: coords });
在我的页面加载时运行(所以重新安装等)
任何帮助都很棒
由于
工作代码:
//Viewprt trigger
$(document).ready(function(){
$(window).bind("scroll", function(event) {
$(".think:in-viewport").each(function() {
$window = $(window);
$elementOffset = $('.think').offset().top;
$('html.no-touch div[data-type="backgroundthink"]').each(function(){
var $bgobj = $(this);
var yPos = -(($window.scrollTop() - $elementOffset) / $bgobj.data('speed'));
console.log(yPos);
var coords = '50% '+ yPos + 'px';
$bgobj.css({ backgroundPosition: coords });
});
});
});
});
答案 0 :(得分:3)
忽略滚动事件处理程序中附加滚动事件的事实。您可以在页面加载后触发scroll
事件:
$(document).ready(function(){
...
$(window).scroll(); // This will trigger scroll event
});