How to build a scrolling list with jQuery

Sunday 7th February

This tutorial explains, step-by-step, how to use CSS and jQuery animations to build a simple ‘auto-scrolling’ vertical list.

Let’s be clear, here: the widget I’m about to put together isn’t exactly a stunning new advance in user interface design. But it does produce a nice final result, and you’ll probably learn a little about CSS and jQuery animations along the way.


To make things more interesting, we’ll give ourselves some pretty strict requirements about behaviour and display. Many similar devices I’ve seen on the web fail on at least one of these requirements, and this was part of the driver towards putting this tutorial together.

These requirements should make for an interesting enough challenge, whilst offering a reasonable use case from which to study CSS and jQuery. You can check the final demo to verify these requirements, and ensure your understanding of them is correct.


First, let’s get to the markup, which should be as straightforward as possible:

<ul id="scroller">
    <li>Item one</li>
    <li>Item two</li>

I’ve added some default CSS, for the purposes of this demo, in order to demonstrate how to resolve issues relating to spacing caused by any padding and margins present:

#scroller { list-style: none; padding: 1em;
    border: 1px solid #9DB029; margin: 1em 0; }

#scroller li { border: 1px solid #ddd; width: 8em;
    margin: 0.25em; padding: 0.5em; background-color: #eee; }

And here’s how the basic list is displayed:

Adding the new item

The first step, of course, is to add the new item at the beginning of the list. To do this, we’ll use jQuery’s prepend() function:

$('#scroller').prepend('<li>A new item</li>');

which adds a list item as the first child of the list, ensuring it appears right at the top:

This demonstrates the first problem: our list will expand its height to accommodate the items contained within it. We’ll fix that simply by assigning a fixed height to the list, for the duration of our animation:

$('#scroller').css('height', $('#scroller').height());

Unfortunately, the last item now ‘spills out’ of the list, something we definitely don’t want to be happening. This won’t be a problem for now, because we’re going to move everything up so that the original items occupy their original positions, but we’ll have to revisit the ‘overflow’ problem soon.

For now, let’s move everything up by applying a negative margin to the new item:

The size of this margin is simply the total height that the item was occupying, which includes its content height, padding, and borders. Note that it does not include any vertical margins, since they collapse. Thanks to a built-in jQuery function, we can easily calculate this height, and set the margin:

$('#scroller li:first').css('margin-top',
    0 - $('#scroller li:first').outerHeight());

Now we really do have to deal with the overflow problem. Fortunately, it’s very easy to clip the overflowing content using the overflow CSS property:

$('#scrolling').css('overflow', 'hidden');

Note that this applies to the entire list, so it will handle any later situation in which the final list item might overflow the bottom.

Finally, for this initial stage, we need to slide the new item up a bit, just out of view. For this calculation, it’s important to realise why that part of the box is still showing: the list’s padding. Recall that we moved the new item up such that the original top item was back in its starting place. Therefore, we need to move our new item up by the same amount of top padding on the list.

The other factor to consider is that we don’t want anything else to be affected by this movement, in particular, we don’t want the following list items to move up. Relative positioning is the way to move an element whilst ensuring others respect its original position:

var ulPaddingTop = $('#scroller').css('padding-top');
    ulPaddingTop = ulPaddingTop.substr(0, ulPaddingTop.length - 2);
$('#scroller li:first').css('position', 'relative');
$('#scroller li:first').css('top', 0 - ulPaddingTop);

Note that, slightly frustratingly, the value returned for padding-top includes the trailing “px”, so that needs to be stripped with a call to substr().

It’s as if our new list item isn’t even there …

Moving the new item into place

Now we’ve got the new item in the list, but hidden out of view, it’s time to move it into position. First of all, let’s slide it down back to where it was before the previous step, by setting the top back to 0:

$('#scroller li:first').animate({top: 0});

You should see the effect of that step when you click the button above. Next, we’ll undo the other initial positioning that was applied to bring the new item fully into view:

var oldMarginTop = $('#scroller li:first').css('margin-top');
$('#scroller li:first').css('margin-top',
    0 - $('#scroller li:first').outerHeight());
$('#scrollerli:first').animate({marginTop: oldMarginTop});

Note that the first step — storing the original value of the item’s top margin — needs to take place just after we added it since it needs to be maintained when the item is moved back into its original position:

Again, clicking the button should demonstrate this step’s effect. All that remains is to get rid of the last list item.

Removing the old item and cleaning up

In much the same way that we originally moved the new item up past the list’s top padding, we now need to push the last item below the list’s bottom padding. Once that’s been done, the unwanted item needs to be properly removed from the DOM:

var ulPaddingBottom = $('#scroller').css('padding-bottom');
    ulPaddingBottom = ulPaddingBottom.substr(0, ulPaddingBottom.length - 2);
$('#scroller li:last').animate({top: ulPaddingBottom});
$('#scroller li:last').remove();

And, finally, we should undo any changes we’ve applied to the list to ensure it’s back in its original state:

$('#scroller').css('height', 'auto');
$('#scroller').css('overflow', 'visible');

Apart from being nice and tidy, this helps to minimise any disruption caused by possible changes in text size, caused by the user zooming text, for example.

Putting everything together

Before we finish, let’s consider how to run the animation parts of the process. Ideally, we want those steps to happen in order; if several elements move all at once, it can be very distracting. However, if adding the new item causes the overall list’s height to change, the effect works best if that animation happens at the same time as the other steps.

jQuery’s animate() function takes an optional duration parameter, which can be specified in milliseconds to define how long the animation runs for. In addition, a callback function can be provided to ensure steps in an animation are carried out in sequence.

.animate( properties, [ duration ], [callback] )

Firstly, we calculate any height difference the item change might cause to the overall list. This is simply the difference in the height of the old and new list items:

var heightDiff = $('#scroller li:first').outerHeight()
    - $('#scroller li:last').outerHeight();

Then, we run two animations in parallel: one for the list height change, and one for the items’ movement. That movement consists of 3 steps (show new item, scroll all items, hide old item) which should, in total, take the same amount of time as the height change. I’ve found the following values to be pleasant but, of course, you can experiment:

$('#scroller').animate({height: h + heightDiff}, 1500);

$('#scroller li:first').animate({top: 0}, 250, function() {
  $('#scroller li:first').animate({marginTop: oldMarginTop}, 1000, 
    function() {
      $('#scroller li:last').animate({top: ulPaddingBottom}, 250, 
        function() {
          $('#scroller li:last').remove();
          $('#scroller').css('height', 'auto');
          $('#scroller').css('overflow', 'visible');

And here’s the final effect; each click on the button adds a new item:

The code is wrapper up in a smoothAdd() function which takes a list’s id and text to add within a new list item.

And finally …

The eagle-eyed amongst you might spot one, very small problem with the final effect. For now, I’ll leave that identification as an exercise for the reader, in the knowledge that I’m opening myself up to all manner of problem reports! But I’ll deal with the specific issue that I’ve spotted in a follow-up post shortly.



Mon 8 Feb 2010 05:47

Bartek Stankowski

Bartek Stankowski said:

That’s a nice step-by-step tutorial.

But I think it’s worth saying that you could improve performance and make your code cleaner, with a few simple changes.

First of all, you can apply more than one CSS rule at a time, so instead of writing:

<pre>$('#scroller li:first').css('position', 'relative');

$('#scroller li:first').css('top', 0 — ulPaddingTop);


you should do just:


$('#scroller li:first').css({

position: 'relative',

top: 0 — ulPaddingTop



No need to look for $('#scroller li:first') in the DOM so many times.

Also, you could cache DOM nodes in variables, and than find it’s children using context, like this:


var $scroller = $('#scroller');

$('li:first', $scroller);


It’s faster.

And the last thing. When inside an animation callback function, you can use "this", to animate the same element again.

Instead of:


$('#scroller li:first').animate({top: 0}, 250, function() {

$('#scroller li:first').animate({marginTop: oldMarginTop}, 1000, function() {

// (…)






$('#scroller li:first').animate({top: 0}, 250, function() {

$(this).animate({marginTop: oldMarginTop}, 1000, function() {

// (…)




Mon 8 Feb 2010 05:51

Bartek Stankowski

Bartek Stankowski said:

Oh and one more thing.

I think it’s easier to use parseInt() instead of substr() to get the padding value:

var ulPaddingBottom = parseInt($('#scroller').css('padding-bottom'));


Mon 8 Feb 2010 06:53

Five Minute Argument

Five Minute Argument said:

@Bartek: Those are great performance tips, thanks — I’ll definitely look into working those into the example. As I stated, the focus was on the step-by-step tutorial, particularly with respect to the CSS positioning, so I didn’t focus on efficiency too much. But, if the animation is not performing well, it should certainly be improved — a smooth movement was one of the requirements, after all!

As an aside, does jQuery not carry out its own caching to speed up repeated selectors? I suppose it’s not really necessary, if you write decent code in the first place ;-)

And good tip on parseInt() — I always forget it can be used in that way.

Mon 8 Feb 2010 11:04

Amber Weinberg

Amber Weinberg said:

Nice tutorial :)

Sat 20 Mar 2010 00:21


J said:

If you remove the initial 5 prepends, the script breaks and the content does not stay in place. Any chance of a fix?

Sat 20 Mar 2010 08:02

Five Minute Argument

Five Minute Argument said:

Hi 'J'. Part of the purpose of the script is to work with a fixed number of items, but I can understand a need for the type of behaviour you’re describing. Is it correct to say that you’d like an empty list from the beginning, a number of items to be added as and when they’re available, and a fixed limit on the total number to be displayed?

I’ll put something together and add an update soon.

Fri 26 Mar 2010 12:13

Tom Girling

Tom Girling said:

Thats a great bit of code — thanks…very useful — I need to find a use for it now!

Mon 29 Mar 2010 08:23


Emma said:

Hi, great tutorial but i have one question. How would I get this to repeat automatically without the button? So the news just scrolls through?

Thank you for your help and a great tut!

Emma F

Tue 3 Aug 2010 20:31

Las Vegas Web Design

Las Vegas Web Design said:

So this is how you do it. I've been looking for articles that talks about how you build a scrolling list with jQuery. Thanks.

Wed 18 Aug 2010 02:19


christian said:

Works very good as stand alone list in an empty html page.

However, trying to put this scrolling list inside some nested divs etc with some images above, (real world scenario), and the scrolling is far from smooth, it is slow and hogs the browser. Also witnessed strange behavior in IE. I’m using the smoothAdd() code, and I add a new element every 5s.

Anyone else got this working inside a real page? and in IE8?


Fri 22 Oct 2010 06:34


Mithilesh said:

all good scripts but i found the similar one at jqeury.

Sat 6 Nov 2010 05:37


Salomao said:

Puts the sorce to dowload with php code, would be very grateful. and also other user would also be very grateful. :)

Wed 22 Dec 2010 01:11

Raghib Suleman

Raghib Suleman said:

cool nice plugin of scroll…

Tue 5 Apr 2011 17:48

Las Vegas Web Design

Las Vegas Web Design said:

Love your information. Thank you for sharing.

Tue 26 Apr 2011 05:37


mawo said:

thanks for that — thats exactly what I was looking for. how do I have to modify the script to make a new item appear from the bottom and an old one disappear to the top? (upside-down).

Fri 29 Apr 2011 22:49

Adam Dukes

Adam Dukes said:

Nice! Exactly what I was looking for.

Thank you!

Mon 30 May 2011 03:26


ahmad said:

thanks alot,

very good tutorial

Wed 30 Nov 2011 22:44


John said:

Great simple tutorial with a detailed description , thank you

Wed 28 Dec 2011 00:56

SEO tips

SEO tips said:

Nice article! Thanks for sharing with us!

Tue 24 Jan 2012 04:28


buxum said:

how do I have to change the program to create a new product appear from the end and an old one fade away to the top?<a rel="dofollow" rel="nofollow" href="">cheap sticker printing</a>

Thu 26 Jan 2012 01:02

slub yarn in pakistan

slub yarn in pakistan said:

Thanks for sharing such nice article here.i also want to share valuable how to build a list tips.

Thu 26 Jan 2012 01:04

auto loan ohio

auto loan ohio said:

I was looking for. how do I have to modify the script to make a new item appear from the bottom and an old one disappear to the top? (upside-down).

Thu 26 Jan 2012 01:06

auto loan ohio

auto loan ohio said:

Many similar devices I’ve seen on the web fail on at least one of these requirements, and this was part of the driver towards putting this tutorial together.

Mon 27 Feb 2012 04:04

Oliver Jobson

Oliver Jobson said:

Just built a great application with this, but now I am testing it for release and I get a bug in IE8 and IE7 and which prevent sthe scroll from happening. It works perfectly in Safari, Firefox and Chrome.

IE developer tools highlights a problem with the following code section of the jquery code:[a.prop]!=null?[a.prop][a.prop]

I have tried 1.40 (dev), 1.6.2 min and 1.7.1 min and all create the issue.

** Found a fix while writing this: involves correcting part of the jquery code in 1.7.1 min:


Mon 27 Feb 2012 04:06

Oliver Jobson

Oliver Jobson said:

Sorry for the spam — I didn’t think it was posting as I was being shown the form populated with my comment info after clicking 'post'.

Hope people find the fix in my last comment useful.

Wed 7 Mar 2012 19:33

Carl Saunders

Carl Saunders said:

Please edit and correct my mistakes below. Here is my current attempt to step through the tutorial, which seems not to recognize jQuery statements:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "">



<script type="text/javascript"


<link rel="stylesheet"



<link rel="stylesheet" href="css/scroller.css"


<script type="text/javascript" src="smooth-add.js"></script>

<title>Scroller Devel</title>



<ul id="scroller">

<li> Row One </li>

<li> Row Two </li>

<li> Row Three </li>

<li> Row Four </li>

<li> Row Five </li>

<li> Row Six </li>


$('#scroller').prepend('<li> NEXT Line</li>




Wed 7 Mar 2012 19:36

Carl Saunders

Carl Saunders said:

Please edit and correct my mistakes below. Forgot to mention that I mimic-ed your directory structure on my local disk.

Here is my current attempt to step through the tutorial, which seems not to recognize jQuery statements:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "">



<script type="text/javascript"


<link rel="stylesheet"



<link rel="stylesheet" href="css/scroller.css"


<script type="text/javascript" src="smooth-add.js"></script>

<title>Scroller Devel</title>



<ul id="scroller">

<li> Row One </li>

<li> Row Two </li>

<li> Row Three </li>

<li> Row Four </li>

<li> Row Five </li>

<li> Row Six </li>


$('#scroller').prepend('<li> NEXT Line</li>




Mon 30 Apr 2012 15:45


Muhammadibn said:

Hi, Anyone created a wordpress version of this?

Mon 24 Feb 2014 16:50

UK Pay Day Loan

UK Pay Day Loan said:

payday loans for bad credit Loan Interest Ratespayday loans for

bad credit lending organizations are in business to advance

the interests of business, not those of hard-pressed workpeople.

Internet technique doesn t allow yyou to borrow extra money from a cash issue

before it becomes large. Borrowers use the loans to assist you all

thee time. What they understand is that mom says no extra milk on the

cereal or noo second helpings of me.

Thu 22 May 2014 05:54


drteb said:

good tanx admin

Sat 13 Dec 2014 00:26

best online cialis pharmacy

best online cialis pharmacy said:

Very great post. I simply stumbled upon your weblog

and wanted to mention that I've really enjoyed surfing around your blog posts.

After all I’ll be subscribing on your feed and I am hoping you write once more very soon!

Mon 15 Dec 2014 20:12

drugs canada

drugs canada said:

This is a really good tip particularly to those new to the blogosphere.

Short but very precise information… Thanks for sharing this one.

A must read post!

Wed 17 Dec 2014 08:55

cialis cheap canada

cialis cheap canada said:

Heya i am for the first time here. I came across this

board and I find It really useful & it helped me out much.

I hope to give something back and aid others like you helped


Fri 19 Dec 2014 04:56

canadian pharmacies shipping usa

canadian pharmacies shipping usa said:

Good post. I absolutely appreciate this website. Thanks!

Sat 20 Dec 2014 12:13

erectile dysfunction treatments

erectile dysfunction treatments said:

Hi, I check your new stuff on a regular basis. Your writing style

is witty, keep it up!

Wed 24 Dec 2014 04:52

cialis canada prescription

cialis canada prescription said:

Hello very cool web site!! Guy .. Excellent .. Superb .. I will bookmark your web site and take the feeds additionally?

I am satisfied to search out a lot of useful information here within the submit, we'd like work out more

strategies on this regard, thanks for sharing. . . . .


Wed 24 Dec 2014 07:48

cialis 5mg

cialis 5mg said:

What’s up to every one, as I am in fact keen of reading this web site’s post to be updated regularly.

It consists of pleasant data.

Tue 30 Dec 2014 11:01

cialis online pharmacy

cialis online pharmacy said:

Usually I do not read article on blogs, however I wish to say that

this write-up very pressured me to try and do so! Your writing style has been surprised me.

Thanks, very great article.

Thu 1 Jan 2015 11:55

canadian online pharmacy

canadian online pharmacy said:

Hi mates, its impressive piece of writing about tutoringand fully explained,

keep it up all the time.

Thu 1 Jan 2015 17:05

generic viagra online pharmacy

generic viagra online pharmacy said:

I read this paragraph fully about the comparison of

most up-to-date and earlier technologies, it’s awesome article.

Thu 8 Jan 2015 02:10

cheap bridesmaid dresses

cheap bridesmaid dresses said:

Good post, thanks for your sharing!

Thu 8 Jan 2015 15:44

prescription medications

prescription medications said:

I have read so many articles about the blogger lovers except this

post is genuinely a nice article, keep it up.

Sun 11 Jan 2015 08:47

cialis generic

cialis generic said:

This is my first time pay a quick visit at here and i am genuinely happy

to read everthing at one place.

Mon 12 Jan 2015 15:13

generic viagra canada

generic viagra canada said:

I’m really enjoying the design and layout of your site.

It’s a very easy on the eyes which makes it much more pleasant for me to come here

and visit more often. Did you hire out a developer to create your

theme? Fantastic work!

Wed 14 Jan 2015 02:03

generic cialis from canada

generic cialis from canada said:

Hello Dear, are you actually visiting this website on a regular basis, if so afterward you will

definitely obtain pleasant knowledge.

Sat 17 Jan 2015 01:23

How much does cialis cost at pharmacy

How much does cialis cost at pharmacy said:

What’s up, just wanted to tell you, I liked this post.

It was helpful. Keep on posting!

Sun 18 Jan 2015 02:15

Cheap drugs

Cheap drugs said:

Hello, Neat post. There is a problem with your web site in internet explorer, may check this?

IE nonetheless is the marketplace leader and a good portion of other people will omit your wonderful writing

because of this problem.

Sun 18 Jan 2015 08:18

Walmart drug prices

Walmart drug prices said:

Yes! Finally someone writes about cialis canada drug pharmacy.

Sun 18 Jan 2015 13:04

Discount canadian pharmacy cialis

Discount canadian pharmacy cialis said:

Hi there, for all time i used to check web site posts here in the early hours in the

dawn, for the reason that i like to find out more and more.

Sun 18 Jan 2015 21:14

Canadian cialis pills

Canadian cialis pills said:

Fastidious answer back in return of this query with firm arguments and telling all about that.

Wed 21 Jan 2015 06:14

walmart prescription prices

walmart prescription prices said:

continuously i used to read smaller articles which as well clear their motive,

and that is also happening with this article which I am reading at this place.

Wed 21 Jan 2015 16:24

Canadian drugstore cialis

Canadian drugstore cialis said:

You should take part in a contest for one of the finest blogs on the web.

I most certainly will highly recommend this web site!

Thu 22 Jan 2015 11:52

online prescription

online prescription said:

The General pharmacy is really reasonably priced if you are from regardless which parts of the modern culture.

The cost is reasonable for everyone and anyone; you will need to wish for

of getting it. The moment verdict is manufactured, check for the

appropriate shop. Once finding the remedy, you may have enjoyed it.

Just take the tablets with normal liquid. online pharmacy www

Thu 22 Jan 2015 13:34

cheap cialis canada

cheap cialis canada said:

This design is spectacular! You definitely know how to keep a

reader entertained. Between your wit and your videos, I was almost moved to start my own blog (well, almost…HaHa!)

Fantastic job. I really enjoyed what you had to say, and more than that,

how you presented it. Too cool!

Wed 4 Feb 2015 10:05

cialis pharmacy

cialis pharmacy said:

Hello there, just became aware of your blog through Google, and found that it is truly informative.

I’m gonna watch out for brussels. I will be grateful if you continue this in future.

Many people will be benefited from your writing. Cheers!

Sun 15 Feb 2015 04:42

cialis from canada pharmacy

cialis from canada pharmacy said:

Hello, Neat post. There is an issue along with your site in internet explorer,

might test this? IE still is the market chief and a large

component to people will leave out your great writing due

to this problem.

Sun 22 Feb 2015 16:10

cialis from canada

cialis from canada said:

Spot on with this write-up, I actually think this amazing site needs far more attention.

I’ll probably be back again to read more, thanks for

the advice!

Tue 10 Mar 2015 19:10


sama said: AF D9%86-%D8%A7%D9%84%D8%A7%D8%AB%D8%A7%D8%AB/%D9%86%D9%82%D9%84-%D8%B9%D9%81%D8%B4-%D8%A8%D8%A7%D9%84%D9%85%D8%AF%D9%8A%D9%86%D8%A9-%D8%A7%D9%84%D9%85%D9%86%D9%88%D8%B1%D8%A9/ %D8%A7%D8%AA/%D9%85%D9%83%D8%A7%D9%81%D8%AD%D8%A9-%D8%AD%D8%B4%D8%B1%D8%A7%D8%AA-%D8%A8%D8%A7%D9%84%D9%85%D8%AF%D9%8A%D9%86%D8%A9-%D8%A7%D9%84%D9%85%D9%86%D9%88%D8%B1%D8%A9/–0545450104

Sun 15 Mar 2015 13:18

generic for cialis

generic for cialis said:

It’s wonderful that you are getting thoughts from this

article as well as from our argument made at this


Fri 20 Mar 2015 17:11


beftwtr said:


Sat 21 Mar 2015 09:53


hello said:

pljudnwu <a href=" ">nqcdlaiq</a> [url=]nqcdlaiq[/url]

Wed 25 Mar 2015 14:44

bagless vacuum cleaners

bagless vacuum cleaners said:

Great goods from you, man. I've understand your stuff previous to and you’re just extremely excellent.

I actually like what you've acquired here, really like what you are stating and the way

in which you say it. You make it entertaining and you still care for to keep it

sensible. I can not wait to read far more from you. This is really a tremendous


Thu 26 Mar 2015 14:13

walmartpharmacy com

walmartpharmacy com said:

Howdy very cool blog!! Man .. Beautiful .. Wonderful .. I will bookmark your blog

and take the feeds additionally? I am glad to search out numerous helpful information right here in the submit, we need develop more techniques in this regard,

thank you for sharing. . . . . .

Mon 30 Mar 2015 03:20

payday loans

payday loans said:

pizcnku payday loans 3998 payday loans >:-OOO payday loans 3422

Thu 2 Apr 2015 06:41

impotence treatment

impotence treatment said:

Magnificent beat ! I would like to apprentice while you amend your web site, how can i subscribe for a

blog site? The account aided me a acceptable deal.

I had been a little bit familiar of this your

broadcast provided vibrant clear concept

Fri 3 Apr 2015 11:19

cheap cialis

cheap cialis said:

It’s truly very complicated in this full of activity life to listen news on Television, thus I just use

the web for that purpose, and obtain the hottest information.

Fri 3 Apr 2015 14:44

drug side effects

drug side effects said:

Hi there I am so glad I found your website, I really

found you by mistake, while I was researching on Askjeeve for something else, Anyhow

I am here now and would just like to say thank you for a remarkable post and a all round interesting blog (I also love the theme/design), I don’t have time to read

it all at the moment but I have saved it and also added your RSS feeds, so when I have time I will be back

to read a lot more, Please do keep up the excellent work.

Mon 6 Apr 2015 07:45


tadalafil said:

Keep on working, great job!

Thu 9 Apr 2015 08:37

dyson cordless vacuum

dyson cordless vacuum said:

Hello, I think your website might be having browser compatibility issues.

When I look at your website in Ie, it looks fine but when opening in Internet Explorer,

it has some overlapping. I just wanted to give you a quick heads up!

Other then that, terrific blog!

Thu 9 Apr 2015 23:32

michael kors

michael kors said:

Hello! Cheap Michael Kors Outlet Handbags Stores Michael Kors Outlet,Michael Kors Outlet online Louis Vuitton Outlet,Louis Vuitton handbags Michael Kors,Michael Kors Outlet,Michael Kors Michael Kors Outlet Online — Exclusive Bags True Religion Outlet,True Religion Jeans Sac Longchamp,sac longchamp solde,sac longchamps coach outlet,coach outlet online,coach factory outlet Coach Outlet Store Online,Coach Outlet,Coach Factory Outlet michael kors outlet online store cheap the north face,the north face outlet,north face coach factory outlet store online Sac Lancel,sac a main lancel pas cher,sac lancel solde True Religion,True Religion Jeans outlet store online Sac Chanel,sac a main chanel pas cher louis vuitton,louis vuitton outlet stores burberry outlet,burberry outlet store online cheap louis vuitton sale,louis vuitton outlet tiffany and co,tiffany and co jewelry online michael kors outlet,michael kors,cheap michael kors coach factory outlet,coach outlet online christian louboutin louis vuitton outlet coach factory outlet coach outlet michael kors coach factory outlet michael kors outlet michael kors outlet online coach outlet,coach handbags oakley sunglasses cheap coach outlet store online coach outlet oakley outlet beats by dr dre hermes belt hermes bag gucci handbags coach outlet chanel handbags coach outlet ray ban outlet gucci outlet sac louis vuitton coach outlet valentino shoes kate spade kate spade outlet louis vuitton outlet coach outlet michael kors louis vuitton Sac Hermes,sac hermès birkin giuseppe zanotti chanel handbags burberry outlet chanel handbags prada outlet prada handbags prada handbags outlet marc by marc jacobs celine handbags celine handbags outlet ray ban sunglasses oakley sunglasses ray ban sunglasses ray ban outlet ray-ban sunglasses ray ban glasses oakley sunglasses cheap cheap oakley sunglasses oakley outlet oakley sunglasses toms outlet louis vuitton Abercrombie outlet abercrombie kids ralph lauren polo ralph lauren outlet valentino shoes ray ban outlet coach factory outlet,coach outlet online the north face outlet,the north face,north face outlet coach outlet,coach factory outlet,coach outlet online coach factory outlet,cheap coach handbags kate spade handbags,kate spade outlet online coach outlet store online,coach factory outlet coach factory outlet,coach outlet online coach outlet,coach outlet store online coach outlet,coach factory outlet,coach factory coach factory outlet,coach outlet store online kate spade outlet online,kate spade outlet michael kors outlet,michael kors outlet online ray-ban sunglasses outlet,ray-ban sunglasses Hollister Clothing Store,Hollister Clothing Abercrombie and Fitch,Abercrombie outlet ralph lauren outlet online,ralph lauren outlet michael kors outlet online,michael kors Toms Shoes,Toms Shoes Outlet,TOMSshoes,Cheap true religion,true religion jeans outlet store true religion outlet,true religion outlet online red bottom shoes christian louboutin,red bottom shoes Tiffany And Co Jewelry,Tiffany And Co Outlet Online Sale

Fri 17 Apr 2015 08:59

cheap flight

cheap flight said:

Thank you for the good writeup. It in truth was once a entertainment account it.

Glance complex to far delivered agreeable from you!

However, how could we be in contact?

Wed 29 Apr 2015 19:45

discount rx

discount rx said:

Hi there to all, how is everything, I think every one is getting more from this web

site, and your views are nice for new viewers.

Thu 30 Apr 2015 16:02

canadian pharmacies shipping to usa

canadian pharmacies shipping to usa said:

It’s in point of fact a nice and helpful piece of info.

I’m happy that you just shared this helpful information with us.

Please stay us informed like this. Thanks for sharing.

Fri 1 May 2015 14:59

prescription prices

prescription prices said:

Its like you learn my mind! You seem to know so much

approximately this, like you wrote the guide in it or something.

I feel that you simply could do with some % to pressure the

message home a bit, however other than that, that is fantastic blog.

A fantastic read. I will certainly be back.

Sun 3 May 2015 21:43

dyson vacuum

dyson vacuum said:

Wow! At last I got a weblog from where I be able to genuinely obtain valuable facts regarding my study and


Wed 6 May 2015 02:00

Free canadian samples

Free canadian samples said:

This is a topic which is near to my heart… Best wishes!

Exactly where are your contact details though?

Wed 6 May 2015 19:09

Costco drug prices

Costco drug prices said:

Somebody essentially lend a hand to make significantly articles I would state.

This is the first time I frequented your web page and thus far?

I surprised with the analysis you made to create this actual post extraordinary.

Magnificent process!

Tue 12 May 2015 02:17


jpxjbepl said:


Wed 13 May 2015 03:22


hello said:

orcxdubw <a href=" ">lwkoei</a> [url=]lwkoei[/url]

Wed 13 May 2015 09:53

Northwestern pharmacy

Northwestern pharmacy said:

Helpful information. Lucky me I discovered your website accidentally, and I’m surprised why

this coincidence didn’t came about in advance! I bookmarked it.

Wed 13 May 2015 16:58

Canadian pharmacy

Canadian pharmacy said:

Please let me know if you’re looking for a article author

for your weblog. You have some really good articles and I feel I would

be a good asset. If you ever want to take some of the load off,

I’d love to write some material for your blog in exchange for a link back to mine.

Please shoot me an email if interested. Many thanks!

Wed 13 May 2015 20:37

cialis sample prescription

cialis sample prescription said:

Inspiring story there. What happened after? Good luck!

Wed 13 May 2015 22:57

best way take cialis

best way take cialis said:

Hello there, I found your blog by means

of Google even as looking for a similar subject,

your web site got here up, it appears to be like good.

I've bookmarked it in my google bookmarks.

Hello there, just changed into alert to your blog thru Google, and located

that it is truly informative. I’m going to watch out for brussels.

I’ll appreciate in case you continue this in future.

A lot of folks might be benefited out of your writing. Cheers!

Fri 15 May 2015 19:00

generic tadalafil

generic tadalafil said:

Thanks for sharing your info. I really appreciate your efforts and

I will be waiting for your further post thanks once again.

Fri 15 May 2015 22:09

Cialis overnight delivery us pharmacy

Cialis overnight delivery us pharmacy said:

Wow, wonderful blog layout! How long have you been blogging for?

you made blogging look easy. The overall look of your website is wonderful, as well as the content!

Sat 16 May 2015 06:29

cheap online drugs

cheap online drugs said:

Paragraph writing is also a excitement, if you be acquainted with after

that you can write otherwise it is difficult to write.

Sat 16 May 2015 11:43

Canadian pharmacy

Canadian pharmacy said:

I always used to read article in news papers but now as I am a user of web so from now I am

using net for articles, thanks to web.

Sat 16 May 2015 14:52

canadian pharmacy

canadian pharmacy said:

hey there and thank you for your information – I've definitely picked up something new from right here.

I did however expertise several technical issues using this web site, since I experienced to reload the web site a lot of times previous to I could

get it to load properly. I had been wondering if your hosting is OK?

Not that I am complaining, but sluggish loading instances times

will very frequently affect your placement in google and could

damage your quality score if ads and marketing with Adwords.

Well I’m adding this RSS to my email and could look out for much

more of your respective exciting content. Ensure that you update this

again very soon.

Sun 17 May 2015 06:12

cialis viagra overnight delivery

cialis viagra overnight delivery said:

Its like you read my mind! You appear to know a

lot about this, like you wrote the book in it or something.

I think that you could do with some pics to drive the message home

a little bit, but other than that, this is wonderful blog.

A fantastic read. I’ll certainly be back.

Sun 17 May 2015 06:15

canadian pharmacy

canadian pharmacy said:

That is a great tip particularly to those new to the blogosphere.

Simple but very accurate information… Thanks for sharing this one.

A must read post!

Sun 17 May 2015 07:36

Canadian Pharmacy

Canadian Pharmacy said:

I got this web site from my pal who told me concerning this web site and at the moment this time I am browsing

this web site and reading very informative articles or reviews at this place.

Sun 17 May 2015 08:47

cialis 5mg daily use cost

cialis 5mg daily use cost said:

Heya i’m for the first time here. I found this board and I find It really useful & it

helped me out a lot. I hope to give something back and aid others like you helped me.

Sun 17 May 2015 08:56

ed treatment drugs

ed treatment drugs said:

Link exchange is nothing else except it is simply placing the other

person’s webpage link on your page at proper place and other person will also do similar for you.

Sun 17 May 2015 22:43

Canadian Pharmacy

Canadian Pharmacy said:

Way cool! Some extremely valid points! I appreciate you writing this write-up and the rest of the website is also

really good.

Mon 18 May 2015 17:49

Cialis purchase canada

Cialis purchase canada said:

Great post! We will be linking to this great

article on our website. Keep up the good writing.

Wed 20 May 2015 07:35

pharmacychecker com

pharmacychecker com said:

With havin so much written content do you ever run into any issues of

plagorism or copyright infringement? My site

has a lot of unique content I've either authored myself or outsourced but it seems

a lot of it is popping it up all over the web without

my permission. Do you know any techniques to help protect against content from being ripped off?

I’d definitely appreciate it.

Mon 25 May 2015 18:15

Canadian pharmacy

Canadian pharmacy said:

I've been surfing online more than 4 hours today,

yet I never found any interesting article like

yours. It is pretty worth enough for me. In my opinion, if all site owners and bloggers made good content as you did,

the internet will be a lot more useful than ever before.

Tue 26 May 2015 13:32


rx said:

Hi! Someone in my Facebook group shared this site with us so I

came to look it over. I’m definitely enjoying the information. I’m

bookmarking and will be tweeting this to my

followers! Exceptional blog and amazing design and style.

Thu 28 May 2015 11:38

north west pharmacy canada

north west pharmacy canada said:

wonderful issues altogether, you just gained a logo new reader.

What could you suggest in regards to your submit that you just made a few

days ago? Any sure?

Thu 28 May 2015 20:16


20150529meiqing said:

Leave a comment