我不知道发生了什么,但我有这样的菜单设置
<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,当它悬停在不同的indice_item上时跟随鼠标。我用jquery做它,它的功能是动画的。 当页面加载时会创建这个div.puntero,它会查找此菜单的第一项并获取宽度和顶部和左侧坐标,因此它可以在具有类激活的项目下设置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).
});
});
这在firefox中完美运行,但在chrome中我有几个问题,它似乎工作正常。但后来我按下重装或F5并且div.puntero的宽度变得疯狂。 我添加了警报(ancho);对于宽度,当我进入页面时,它给我正确的宽度180,当我按下重新加载1665或1649时,图表。 它为什么这样工作?
答案 0 :(得分:6)
尝试在加载所有内容后设置高度和宽度,即使用$(window).load(function() {//set height and width here});
。
我相信它似乎在firefox中运行正常,因为缓存。也许我错了,只需设置jsFiddle。明确问题要容易得多。
答案 1 :(得分:0)
这是解决方案,
jQuery behaving strange after page refresh (F5) in Chrome
使用此
$(window).load(function(){});
而不是:
$(document).ready(function(){});