Fantastic, thanks a lot!!!!

On Tue, Nov 11, 2008 at 7:32 PM, Alexandre Plennevaux
<[EMAIL PROTECTED]>wrote:

>
> activate the button in a callback function after the animate
>
> var isClickable = true;
>
>  right.click(function()
>               {
>                       if(ul.css('left') != (maxMove * -1) + 'px' &&
> isClickable)
>                       {
> isClickable = false;
>                               ul.animate({left:'-=50px'},function(){
> isClickable = true;
> });
>                       }
>               });
>
>
> On Tue, Nov 11, 2008 at 11:06 AM, David .Wu <[EMAIL PROTECTED]> wrote:
> >
> > Hi everybody
> > This my testing gallery slider, it will count image's amount, and
> > prevent it not to outside the wrapper, but I got one problem, if user
> > click button after the animation finished, it's done well, but if user
> > click too fast, the js will not catch the left property in time
> > correctly, how to fix the bug?
> >
> > CSS
> > <style type="text/css">
> > <!--
> > body { font-size: 12px; }
> > #wrapper
> > {
> >        height: 50px;
> >        width: 50px;
> >        overflow: hidden;
> >        position: relative;
> >        border:1px #FF0000 solid;
> > }
> > ul
> > {
> >        margin: 0px;
> >        padding: 0px;
> >        list-style-type: none;
> >        position: absolute;
> >        white-space:nowrap;
> > }
> > li
> > {
> >        display:inline;
> >        margin:0 -3px 0 0;
> >        width:50px;
> >        height:50px;
> >        overflow:hidden;
> > }
> > -->
> > </style>
> >
> > HTML
> > <div id="wrapper">
> >    <ul>
> >        <li><img src="1.jpg" border="0" /></li>
> >        <li><img src="2.jpg" border="0" /></li>
> >        <li><img src="3.jpg" border="0" /></li>
> >    </ul>
> > </div>
> > <input type="button" name="left" id="left" value="left" />
> > <input type="button" name="right" id="right" value="right" />
> >
> > JavaScript
> > <script language="javascript">
> > <!--
> >        $(document).ready(function()
> >        {
> >                var wrapper = $('#wrapper');
> >                var ul = $('ul',wrapper);
> >                var itemsWidth = $('li',ul).outerWidth();
> >                var itemsLen = $('li',ul).size();
> >                var maxMove = (itemsLen - 1) * itemsWidth;
> >                var minMove = 0;
> >                var right = $('#right');
> >                var left = $('#left');
> >                right.click(function()
> >                {
> >                        if(ul.css('left') != (maxMove * -1) + 'px')
> >                        {
> >                                ul.animate({left:'-=50px'});
> >                        }
> >                });
> >                left.click(function()
> >                {
> >                        if(ul.css('left') != minMove + 'px')
> >                        {
> >                                ul.animate({left:'+=50px'});
> >                        }
> >                });
> >        });
> > //-->
> > </script>
> >
>

Reply via email to