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);"> </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"> </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()。我在“文档准备就绪”部分定位并发出警告,当窗口仍然为白色时,它就会出现,在加载文档时,它应该会出现。