2015-03-08 3 views
1

J'ai ce code ici jquery .Position():.haut échoue parfois

$(document).ready(function() 
{ 
    if($("#error_email > p").text() != "") 
    { 
     var pos = $("#register_email").position(); 
     $("#error_email").css({ 
      top: pos.top-10 + "px", 
      left: (pos.left) + "px", 
      display: "inline-block" 
     }); 
    } 
}); 

Pour une raison quelconque pos très rarement variables me donne une mauvaise réponse, il est censé me donner ~ 112px et parfois il donne moi ~ 700px et tout le message d'erreur saute à l'endroit où il ne devrait pas être, cela fonctionne normalement pour comme ~ 90% fois que j'ai testé mais pas 100% ... Quel pourrait être le problème?

+0

Fournissez plus de contexte concernant votre extrait de message publié. L'appelez-vous sur document prêt/chargement de la fenêtre événement? Pouvez-vous fournir un échantillon minimaliste pour reproduire le problème? BTW, 'pos.left' est faux si' var pos = $ ("# register_email"). Position(). Top; ' –

+0

ok, je vais corriger cela dans un second – Donny123

+0

Même problème en utilisant $ (fenêtre) .on ('load', handler); 'au lieu du document prêt? –

Répondre

0
$(document).ready(function() 
{ 
if($("#error_email > p").text() !=   "") 
{ 
var pos =  $("#register_email").position(); 
    $("#error_email").css({ 
     top: (pos.top)-10 + "px", 
     left: (pos.left) + "px", 
     display: "inline-block" 
    }); 
    } 
    });