I was visiting a website called stepout.com. I came across this members counter which seem to be cool. So here i explain it for you, how it is done.
Step-1 : We start by adding some jquery plugins and css to our page
<!-- jQuery from Google CDN, REQUIRED -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<!-- My flip counter script, REQUIRED -->
<script type="text/javascript" src="js/flipcounter.min.js"></script>
<!-- Style sheet for the counter, REQUIRED -->
<link rel="stylesheet" type="text/css" href="css/counter.css" />
<!-- jQueryUI from Google CDN, used only for the fancy demo controls, NOT REQUIRED for the counter itself -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"></script>
<!-- Style sheet for the jQueryUI controls, NOT REQUIRED for the counter itself -->
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/vader/jquery-ui.css" />
<!-- Style sheet for the demo page, NOT REQUIRED for the counter itself -->
<link rel="stylesheet" type="text/css" href="css/demo.css" />
Step-2 : Next job is to put some div tags where it will be displayed
<li>Increment:
<span id="inc_value">123</span> <a href="#">[?]</a><div id="inc_slider"></div>
<div>
<p>This slider controls the counter increment by using the <b>setIncrement</b> method:</p>
<code>myCounter.setIncrement(value);</code>
</div>
</li>
Step-3 : Our next job is to have some javascript customization
<script type="text/javascript">
//<![CDATA[
// Initialize a new counter
var myCounter = new flipCounter('counter', {value:10000, inc:123, pace:800, auto:true});
$(function(){
/**
* Demo controls
*/
var smartInc = 0;
// Increment
$("#inc_slider").slider({
range: "max",
value: 123,
min: 1,
max: 1000,
slide: function( event, ui ) {
myCounter.setIncrement(ui.value);
$("#inc_value").text(ui.value);
}
});
// Pace
$("#pace_slider").slider({
range: "max",
value: 800,
min: 100,
max: 1000,
step: 100,
slide: function( event, ui ) {
myCounter.setPace(ui.value);
$("#pace_value").text(ui.value);
}
});
// Auto-increment
$("#auto_toggle").buttonset();
$("input[name=auto]").change(function(){
if ($("#auto1:checked").length == 1){
$("#counter_step").button({disabled: true});
$(".auto_off_controls").hide();
$(".auto_on_controls").show();
myCounter.setPace($("#pace_slider").slider("value"));
myCounter.setIncrement($("#inc_slider").slider("value"));
myCounter.setAuto(true);
}
else{
$("#counter_step").button({disabled: false});
$(".auto_off_controls").show();
$(".auto_on_controls").hide();
$("#add_sub").buttonset();
$("#set_val, #inc_to, #smart").button();
myCounter.setAuto(false).stop();
}
});
$("#counter_step").button({disabled: true});
$("#counter_step").button().click(function(){
myCounter.step();
return false;
});
// Addition/Subtraction
$("#add").click(function(){
myCounter.add(567);
return false;
});
$("#sub").click(function(){
myCounter.subtract(567);
return false;
});
// Set value
$("#set_val").click(function(){
myCounter.setValue(12345);
return false;
});
// Increment to
$("#inc_to").click(function(){
myCounter.incrementTo(12345);
return false;
});
// Get value
$("#smart").click(function(){
var steps = [12345, 17, 4, 533];
if (smartInc < 4) runTest();
function runTest(){
var newVal = myCounter.getValue() + steps[smartInc];
myCounter.incrementTo(newVal, 10, 400);
smartInc++;
if (smartInc < 4) setTimeout(runTest, 10000);
}
$(this).button("disable");
return false;
});
// Expand help
$("a.expand").click(function(){
$(this).parent().children(".toggle").slideToggle(200);
return false;
});
});
//]]>
</script>
</body>
Its a great Script, Thank you so much....
ReplyDeletei love your blog, i have it in my rss reader and always like new things coming up from it.
ReplyDeletei cannot dowmload the script plz help me.............
ReplyDelete