Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak to napisać? + jQuery, Dziedziczenie w JS?
starach
post 21.02.2009, 13:25:12
Post #1





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

Ostrzeżenie: (0%)
-----


Wybaczcie taką trochę bezmyślną nazwę tematu, ale nie wiem jak to ładnie doprecyzować w jednym zdaniu. tongue.gif

Otóż. Mam zakładki zrobione przy użyciu jQuery. Dołączany jest plik z klasą JS reprezentująca zakładkę do której przekazuję link i kontener który ma zostać uaktywniony. Klient zażyczył sobie jednak żebym dodał jeszcze jedną zakładkę na której będą wykonywane specyficzne operacje które wymagają dodatkowej porcji kodu JS. No i teraz tak się zastanawiam czy jest jakaś możliwość rozszerzenia klasy bazowej żeby dodać tą funkcjonalność lub jak byście ten mini problem rozwiązali.

Kod
<script>
function Fold_Collection()
{
    this.folds = new Array();
    var ths = this;

    this.append = function($fold)
    {
        this.folds[this.folds.length] = $fold;
    }
    this.init = function($default)
    {
        var $links = $("ul#menu li.link_inactive");
        var $panels = $("div#panels div.item_inactive");
        $links.each(function($i)
        {
            $fold = new Fold($($links.get($i)), $($panels.get($i)), ths);
            $fold.setEvtClick();
            ths.append($fold);
        });
        this.deactivate();
        this.folds[$default].activate();
    }
    this.deactivate = function()
    {
        for(var $i = 0; $i < this.folds.length; $i++)
        {
            this.folds[$i].deactivate();
        }
    }
}
function Fold($anch, $fold, $parent)
{
    this.anch_ = $anch;
    this.fold_ = $fold;
    this.temp_ = '';
    this.parent_ = $parent;
    var ths = this;
    
    this.setEvtClick = function()
    {
        this.anch_.click(
        function()
        {
            ths.parent_.deactivate();
            ths.activate();
        });
    }
    this.activate = function()
    {
        this.anch_.attr("class", "link_active");
        this.fold_.attr("class", "item_active");
    }
    this.deactivate = function()
    {
        this.anch_.attr("class", "link_inactive");
        this.fold_.attr("class", "item_inactive");
    }
}</script>
Go to the top of the page
+Quote Post
lord_t
post 21.02.2009, 13:29:40
Post #2





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

Ostrzeżenie: (0%)
-----


extend()


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 09:31