Technology behind Google Stock Screener page

I am interested in recreating the Stock Screener page of Google Finance.  
http://finance.google.com/finance/stockscreener

I'm interested in how all of it works (AJAX and javascript?), but especially the sparklines range selector controls.  What does Google use and how would I go about making this?  Is there a control already available to use?  

I'm a beginner to web programming but have made simple pages in ASP.NET using Visual Studio.  I come from a VB6/VB.NET background.  Thanks in advance,
vt96Asked:
Who is Participating?
 
anoyesConnect With a Mentor Commented:
I attached a quick sample of how this might be done.  I poked into Google a little, and they use JavaScript to build the chart background.  So what you'll most likely end up doing is making some AJAX call to a web service to get a set of values, and then loop thru each to build your chart.  I think this example will get you started - how you actually collect the data is up to you.

<script language="javascript" src="jquery.js"></script>
<script language="javascript">
  $(document).ready(function()
  {
    var arrValues = new Array();
    arrValues[0] = 12;
    arrValues[1] = 18;
    arrValues[2] = 26;
    arrValues[3] = 80;
    arrValues[4] = 60;
    arrValues[5] = 51;
    arrValues[6] = 57;
    arrValues[7] = 66;
    arrValues[8] = 45;
    arrValues[9] = 91;
    arrValues[10] = 100;
    arrValues[11] = 83;
    
    $.each(arrValues,function(i, val)
    {
      var elem = $("<div>");
      elem.css("left",i * 4 + "px");
      elem.css("width","2px");
      elem.css("background","#123456");
      elem.css("height",val + "%");
      elem.css("position","absolute");
      elem.css("bottom","0px");
      $("#divContainer").append(elem);
    })
  });
</script>
 
<div id="slider" style="z-index:20;">[] ----------------- []</div>
<div id="divContainer" style="height:20px;position:relative;top:-20px;z-index:10;"></div>

Open in new window

0
 
anoyesCommented:
I'm not sure exactly what controls Google uses - they're probably home-grown - but I would recommend you look into the jQuery javascript library (jquery.com).  The core of jQuery has all the AJAX stuff that you would need built in, and the UI add-on (ui.jquery.com) has several UI widgets that you'd find useful, particularly the slide control (http://ui.jquery.com/repository/latest/demos/functional/#ui.slider).  It's just a matter of styling it properly, which shouldn't be too hard.  That should give you a pretty good start to the UI.


The AJAX is just a call that gets made using JavaScript to execute server side code, and then return some new content.  In this case, AJAX is being used to update the page when you move around the sliders, sort the data grid, etc.  If you're interested in how exactly AJAX works I'd do a Google search - there's tons of information out there.  But basically you specify a URL and then (typically) do something with the data that URL returns.
0
 
vt96Author Commented:
Thanks a lot for the response.  The Google slide control has a distribution chart in the background...is it possible to have a slider on a dynamically-generated chart background?  That control seems pretty useful and I'm mainly looking into how to re-create that one.

The jQuery demos are pretty nice; thanks for the link.  I will check them out.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.