2017-01-09 1 views
0

Je veux appeler ce qui suit dans mon code quelque part.Passer le paramètre pour fonctionner en Javascript

scrollIntoViewElement(main-nav); 

Ce qui suit est la fonction:

// Element to scroll into view 
scrollIntoViewElement(element) { 
    document.getElementById('element').scrollIntoView(); 
} 

La fonction doit faire défiler la page dans la vue de l'identification de l'élément fourni.

Est-ce correct? Ou devrait-il être ...

// Element to scroll into view 
scrollIntoViewElement(element) { 
    document.getElementById("\'" + element + "\'").scrollIntoView(); 
} 
+0

Non sauf si vous avez un élément avec l'ID "élément". Il suffit de laisser tomber les guillemets et tout ira bien –

+0

'document.getElementById (élément) .scrollIntoView();' –

+0

Aussi 'scrollIntoViewElement ('main-nav');' si "main-nav" est l'id de votre élément – allnodcoms

Répondre

2

Le code scrollIntoViewElement(main-nav); signifie « Prenez la valeur de main, il faut soustraire la valeur de nav, puis appelez scrollIntoViewElement passer le résultat en tant que paramètre. Si vous voulez passer dans la chaîne main-nav, vous avez besoin des guillemets pour indiquer à l'analyseur JavaScript que vous utilisez une chaîne littérale: scrollIntoViewElement("main-nav");

au sein de la fonction, vous ne pas utilisez des guillemets, parce que vous voulez utiliser la valeur du paramètre, et non la chaîne littérale "element"

Alors:

scrollIntoViewElement("main-nav"); 

et

// Element to scroll into view 
scrollIntoViewElement(element) { 
    document.getElementById(element).scrollIntoView(); 
} 

Cela suppose que vous avez un élément avec id="main-nav" dans votre document. Il va lever une exception si vous ne le faites pas, car getElementById renverra null.