Jquery .offset().left 有时 returns 正确值,有时 returns 0
Jquery .offset().left sometimes returns correct value, sometimes returns 0
我正在制作一个带有幻灯片的网站。我制作了两个 div,一个的宽度等于屏幕的宽度,第二个(子)大 9 倍(用于 9 张幻灯片)
我正在使用 .offset().left
来设置正确的值,总的来说,我的网站运行良好,但有时会停滞不前
我找到问题所在了。我已经将 .offset().left
值打印到 console.log 中,它看起来像
Refresh no.1: 0
Refresh no.2: 0
Refresh no.3: 1920
Refresh no.4: 0
Refresh no.5: 1920
Refresh no.6: 1920
Refresh no.7: 0
Refresh no.8: 1920
Refresh no.9: 0
Refresh no.10: 0
Refresh no.11: 0
有时正确,有时不正确,我不知道为什么。
好的,解决了,如果有人遇到同样的问题就离开。
似乎,尽管使用
$(document).ready
它在页面完全加载之前计算偏移量
我必须做的是替换这个:
$(document).ready(function(){
$something1 = $('#something1').offset().left;
$something2 = $('#something2').offset().left;
$something3 = $('#something3').offset().left;
有了这个
$(document).ready(function(){
$k = 1;
$('#right').on('click',function(){
if($k == 1){
$something1 = $('#something1').offset().left;
$something2 = $('#something2').offset().left;
$something3 = $('#something3').offset().left;
$k = 0;
我正在制作一个带有幻灯片的网站。我制作了两个 div,一个的宽度等于屏幕的宽度,第二个(子)大 9 倍(用于 9 张幻灯片)
我正在使用 .offset().left
来设置正确的值,总的来说,我的网站运行良好,但有时会停滞不前
我找到问题所在了。我已经将 .offset().left
值打印到 console.log 中,它看起来像
Refresh no.1: 0
Refresh no.2: 0
Refresh no.3: 1920
Refresh no.4: 0
Refresh no.5: 1920
Refresh no.6: 1920
Refresh no.7: 0
Refresh no.8: 1920
Refresh no.9: 0
Refresh no.10: 0
Refresh no.11: 0
有时正确,有时不正确,我不知道为什么。
好的,解决了,如果有人遇到同样的问题就离开。 似乎,尽管使用
$(document).ready
它在页面完全加载之前计算偏移量
我必须做的是替换这个:
$(document).ready(function(){
$something1 = $('#something1').offset().left;
$something2 = $('#something2').offset().left;
$something3 = $('#something3').offset().left;
有了这个
$(document).ready(function(){
$k = 1;
$('#right').on('click',function(){
if($k == 1){
$something1 = $('#something1').offset().left;
$something2 = $('#something2').offset().left;
$something3 = $('#something3').offset().left;
$k = 0;