Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
chrome上的Jquery width()函数在加载和重新加载时为我提供了不同的值(F5)_Jquery_Google Chrome_Width - Fatal编程技术网

chrome上的Jquery width()函数在加载和重新加载时为我提供了不同的值(F5)

chrome上的Jquery width()函数在加载和重新加载时为我提供了不同的值(F5),jquery,google-chrome,width,Jquery,Google Chrome,Width,我不知道发生了什么事,但我有一套这样的菜单 <div class="indice_item activo"> <div class="indice_item"> <div class="indice_item"> <div class="indice_item"> <div class="indice_item"> <div id="puntero" style="width: 180px; height: 19px; top:

我不知道发生了什么事,但我有一套这样的菜单

<div class="indice_item activo">
<div class="indice_item">
<div class="indice_item">
<div class="indice_item">
<div class="indice_item">
<div id="puntero" style="width: 180px; height: 19px; top: 70px; left: 0px; background-color: rgb(10, 173, 247);">&nbsp;</div>

问题是div.puntero是一个div,当鼠标悬停在不同的指示项上时,它会跟随鼠标。我使用jquery及其函数动画来实现这一点。 当页面加载时,它会创建这个div.puntero,它会查找此菜单的第一项,并获取宽度、顶部和左侧坐标,这样它就可以在具有activo类的项下设置div.puntero

这就是实现这一点的代码

/*
 * Seleccionado el primero activo 
 */
$(document).ready(function() {
    $('div.indice_item').last().after('<div id="puntero">&nbsp;</div>');
    //seteamos el puntero donde debe estar
    ancho=$('div.indice_item').first().width()
    alert(ancho);
    $('#puntero').width($('div.indice_item').first().width());
    $('#puntero').height(($('div.indice_item').first().height()+3));
    $('#puntero').css({
        "top"  : $('div.indice_item').position().top,
        "left" : $('div.indice_item').position().left
    });
    $('.indice_item').each(function (){
        //$(this).
    });
});
/*
*最佳活动选择
*/
$(文档).ready(函数(){
$('div.indice_item').last()在('')之后;
//塞特莫斯·艾尔蓬特罗·登德·埃斯塔酒店
ancho=$('div.indice_item').first().width()
警报(安科);
$('puntero').width($('div.indice_item').first().width());
$('puntero').height($('div.indice_item').first().height()+3));
$('#puntero').css({
“顶部”:$('div.indice_item').position().top,
“左”:$('div.indice_item')。位置()。左
});
$('.indice_item')。每个(函数(){
//美元(本)。
});
});
这在firefox中工作得很好,但在chrome中我有几个问题,它似乎工作正常。但我按下了重新加载或F5,div.puntero的宽度变得疯狂。 我添加了警报(ancho);对于宽度,当我转到页面时,它给出了图表的正确宽度180,当我按reload 1665或1649时。
为什么这样工作?

在加载所有内容后尝试设置高度和宽度,即使用
$(window).load(函数(){//set height and width here})

我相信它在firefox中运行良好,因为它有缓存功能。也许我错了,只需设置JSFIDLE。指出问题会容易得多。

以下是解决方案

用这个

$(窗口).load(函数(){})

而不是:


$(文档).ready(函数(){})

你能创造一个新的世界吗?但问题是在这里它不会发生。因为这不像重装。我要上传真实的网站它在IE和Firefox中运行良好,我不认为它是缓存。这就像当它在Chrome中重新加载时,它会占用窗口的宽度,而不会加载$(document).ready()。我在“文档准备就绪”部分定位并发出警告,当窗口仍然为白色时,它就会出现,在加载文档时,它应该会出现。