[JS]Zmiana dynamiczności slidera

Witam!

Miałem sobie slider (na bibliotece jQuery):

$(document).ready(function() {


        //opcje( 1 - wlaczony , 0 - wylaczony)

        var auto_slide = 0;

            var hover_pause = 1;

        var key_slide = 1;


        //predkosc przewijania

        var auto_slide_seconds = 5000;

        //UWAGA: wartosci czasowe podajemy w milisekundach


        //przesun obiekt z ostatniego miejsca na miejsce przed pierwszym. Chodzi o to, zeby uzytkownik widzial wszystkie pozycje ze slidera bez przerwy.

        $('#slider_lista li:first').before($('#slider_lista li:last')); 


        //sprawdzenie czy auto-sliding jest wlaczony

        if(auto_slide == 1){

            var timer = setInterval('slide("right")', auto_slide_seconds); 

            $('#hidden_auto_slide_seconds').val(auto_slide_seconds);

        }


        //sprawdzenie czy pauza w efekcie hover jest wlaczona

        if(hover_pause == 1){				 

            $('#slider_lista').hover(function(){

                //zatrzymanie przesuwania gdy :hover

                clearInterval(timer)

            },function(){

                //wlaczenie ruchu

                timer = setInterval('slide("right")', auto_slide_seconds); 

            });


        }


        //sprawdzenie czy obsluga klawiszy jest wlaczona

        if(key_slide == 1){


            //ustawianie przycisków do interakcji

            $(document).bind('keypress', function(e) {

                //kod przycisku "strzalka w lewo" to: 37, a "strzalka w prawo" to: 39

                if(e.keyCode==37){

                        //przesun w lewo

                        slide('left');

                }else if(e.keyCode==39){

                        //przesun w prawo

                        slide('right');

                }

            });

        } 

  });


//funkcja przesuwania 

function slide(where){


            //pobieranie szerokosci pojedynczego obiektu

            var item_width = $('#slider_lista li').outerWidth() + 10;


            //sprawdzenie czy animacja ma isc w prawo czy w lewo

            if(where == 'left'){

                //kalkulacja ruchu w lewo

                var left_indent = parseInt($('#slider_lista').css('left')) + item_width;

            }else{

                //kalkulacja ruchu w prawo

                var left_indent = parseInt($('#slider_lista').css('left')) - item_width;


            }



            //efekt przesuwania z uzyciem biblioteki jQuery

            $('#slider_lista:not(:animated)').animate({'left' : left_indent},500,function(){    


                //tworzenie iluzji nieskonczonej prezentacji

                if(where == 'left'){

                    $('#slider_lista li:first').before($('#slider_lista li:last'));

                }else{

                    $('#slider_lista li:last').after($('#slider_lista li:first')); 

                }


                $('#slider_lista').css({'left' : '-740px'});

            });      

}

Ale chciałem też mieć animowane menu (lavaLamp), wiec musiałem dodać to:

/*

 * jQuery Easing v1.1 - http://gsgd.co.uk/sandbox/jquery.easing.php

 *

 * Uses the built in easing capabilities added in jQuery 1.1

 * to offer multiple easing options

 *

 * Copyright (c) 2007 George Smith

 * Licensed under the MIT License:

 * http://www.opensource.org/licenses/mit-license.php

 */

jQuery.easing={easein:function(x,t,b,c,d){return c*(t/=d)*t+b},easeinout:function(x,t,b,c,d){if(t

A po dodaniu w.w. skryptu slider działa ale jakoś mniej dynamicznie, wolniej jakby trochę.

Co trzeba zmienić żeby jedno się nie gryzło z drugim?

Pozdrawiam.

No jeśli rozszerzasz daną bibliotekę to może działać wolniej, ale nie znacznie wolniej

  1. Sprawdź w dokumentacji lavaLamp czy są jakeis opcje które zmieniają parametry menu

  2. Sprawdź obciążenie procka oraz czy RAM nie rośnie, wtedy to raczej oznaczało by wadliwe rozszerzenie lub źle zaimplementowane (spotkałem się w tym w “padającym śniegu” na mootoolsie, gdzie Fox po 5 minutach miał 900MB:) )

Niestety jestem raczej jestem użytkownikiem czystego JavaScriptu albo Mootoolsa, a z innych roziwązań korzystam rzadko i nie z bardzo mogę taki kod przeanalizować, musiałbym się zagłębić.