如何在加载JavaScript时设置初始CSS值?
我对JavaScript非常陌生,我仍在努力学习很多东西。我发现了一个允许在滚动条上显示水平视差的片段。我正在使用以下代码设置“right”css属性:如何在加载JavaScript时设置初始CSS值?,javascript,jquery,Javascript,Jquery,我对JavaScript非常陌生,我仍在努力学习很多东西。我发现了一个允许在滚动条上显示水平视差的片段。我正在使用以下代码设置“right”css属性: var $horizontal = $('.scroll'); $(window).scroll(function () { var s = $(this).scrollTop(), d = $(document).height(), c = $(this).height(); scr
var $horizontal = $('.scroll');
$(window).scroll(function () {
var s = $(this).scrollTop(),
d = $(document).height(),
c = $(this).height();
scrollPercent = (s / (d - c));
var position = (scrollPercent * 2500) + ($(document).width() / 2);
$horizontal.css({
'right': position
});
});
但是,一旦滚动发生,“right”属性在加载时默认设置为0,则效果非常好。它只在我开始滚动时捕捉到我的位置变量。如何在加载时调用此变量并使用scroll对其进行修改?只要在窗口加载完成后调用scroll函数即可:
$(window).scroll(function () {
...
});
$( window ).load(function() {
$(window).trigger('scroll');
});
使代码成为真正的函数。从初始加载(例如DOM ready事件)和滚动中调用它。设置初始CSS值的最佳方法是使用样式表。Teemu-我很欣赏,但该值是基于文档宽度的动态数字,因此在CSS中没有真正的初始值可以设置。这很有效。我还在努力理解它背后的数学原理。。。var s是用户滚动的像素数(对吗?)。d是从上到下滚动(右?)时,整个网站的像素数。什么是c?我猜JavaScript的目标是div的高度。是吗?正确,除了c是窗口的高度在本例中,基本上是文档的可见高度。顺便说一句,div使用JavaScript填充窗口的整个高度,所以我在技术上是正确的,但原因是错误的。谢谢你的帮助!