Reputation: 157
I'm having trouble reading a query string with Jquery. What I want to do is read the query string and based on what it says scroll to a certain place or element.
here is my code
$(document).ready(function () {
var name = getQueryParam("id")
{ var pairs = location.search.substring(1).split('&'); for (var i = 0; i < pairs.length; i++)
{ var params = pairs[i].split('='); if (params[0] == param) { return params[1] || ''; } } return undefined; }; })(jQuery);
if ( name == 1){
scrollTo(0, 800);
}
});
Upvotes: 4
Views: 18112
Reputation: 289
Slightly easier code for doing this: (source: http://jquerybyexample.blogspot.com/2012/05/how-to-get-querystring-value-using.html)
function GetQueryStringParams(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
Upvotes: 3
Reputation: 382616
You can use this function to get query string value:
function getParameterByName( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
Example:
var param = getParameterByName('yourVar');
Upvotes: 26