2013-02-17 5 views
0

je donne les résultats suivants:obtenir la variable globale autre fonction

if ($firstBG.hasClass("inview")) { 
    $(window).resize(function() { 
     var height = $(window).height(); 
     var getfactor1 = 680/697; 
     var posval1 = height * getfactor1; 
     console.log(posval1); 
    }); 

    $firstBG.css({ 
     'backgroundPosition': posval1) 
    }); 
} 

Mais il ne reçoit pas la valeur de posval1 dans la fonction d'arrière-plan. Qu'est-ce que je fais mal? Je veux obtenir la valeur de posval1 dans le if inview et sur la fonction de redimensionnement!

Merci.

+2

Vous utilisez 'posval1' en dehors du champ où elle est déclarée. –

+0

et c'est la question, comment puis-je obtenir une nouvelle valeur de (fenêtre) .resize et le mettre dans firstBG.css(); – supersize

+0

Pourquoi ne pas le déplacer dans le gestionnaire '(window) .resize'? –

Répondre

2

Vous devez définir la propriété css à partir du gestionnaire de redimensionnement. Si vous voulez initialiser, vous pouvez simplement déclencher:

if($firstBG.hasClass("inview")){ 
    $(window).resize(function() {   
     var height = $(window).height(); 
     var getfactor1 = 680/697; 
     var posval1 = height*getfactor1; 
     console.log(posval1); 
     $firstBG.css({'backgroundPosition': posval1)}); 
    }).resize(); 
Questions connexes