J'essaye de faire défiler la page à DIV, dont l'ID est envoyé par QueryString
. Le contenu HTML de la page est chargé du côté serveur dans SharePoint 2010
.Faites défiler jusqu'à DIV en utilisant JQuery ne fonctionne pas après le chargement de la page
J'ai utilisé setTimeout()
pour attendre que le contenu soit chargé sur la page et après expiration du délai j'applique la logique pour faire défiler jusqu'à div. Mais la page ne défile pas. Code est comme ci-dessous:
ExecuteOrDelayUntilScriptLoaded(getThankyouMsg, 'sp.js');
function getThankyouMsg() {
var fid = getQueryStringParameter("fid");
setTimeout(function() {
//window.location.href = window.location.href.split('?')[0] + "#" + fid;
jQuery('html, body').animate({
scrollTop: jQuery("#" + fid).offset().top
}, 2000);
}, 7000);
}
function getQueryStringParameter(paramToRetrieve) {
var params = document.URL.split("?")[1].split("&");
for (var i = 0; i < params.length; i = i + 1) {
var singleParam = params[i].split("=");
if (singleParam[0] == paramToRetrieve)
return singleParam[1];
}
}
Pouvez-vous s'il vous plaît suggérer ce que je suis absent?
Merci d'avance.
Bonjour Merci pour la réponse, Mais je dois utiliser setTimeout car ce code est utilisé dans SharePoint et les données que je récupère proviennent de la liste SharePoint, donc le code côté serveur prend le temps de charger, alors que JavaScript commence. Donc, quand ce script a été lancé, il n'a pas trouvé DIV. –
Il faut 6 à 7 secondes pour charger complètement la page, et après cela, je dois exécuter cette fonction JavaScript. –
@RahulGokani .ready devrait empêcher l'exécution du code avant que dom ne soit prêt. Est-ce que vous ajoutez dynamiquement le div avec javascript ou est-ce codé en dur dans la page? – Hendeca