نمایش نتایج 1 تا 6 از 6

نام تاپیک: درخواست کامپونت TabContainer

  1. #1
    کاربر دائمی آواتار peymannaji
    تاریخ عضویت
    مهر 1385
    محل زندگی
    تو یکی از صفرهای گوگل ...
    پست
    881

    درخواست کامپوننت TabContainer

    با سلام

    دوستان من دنبال یک کامپوننت TabContainer دقیقا مثل این سایت http://www.ketabeavval.ir/ هستم . البته خود Ajax toolkit اینو داره اما اون افکت هاشو در هنگام عوض شدن Tab نداره و ساده هست . امیدوارم بنده رو در پیدا کردن این کامپوننت یاری بفرمائید .


    با تشکر ....

  2. #2

    نقل قول: درخواست کامپونت TabContainer

    var SlidingTabs = new Class({
    options: {
    startingSide: false,
    activeButtonClass: 'active',
    activationEvent: 'click',
    wrap: true,
    slideEffect: {
    duration: 400 //
    }
    },
    current: null,
    buttons: false,
    outerSlidesBox: null,
    innerSlidesBox: null,
    panes: null,
    fx: null,


    initialize: function(tabsContainer, slideContainer, numbers, nextButton, prevButton, options) {
    if (tabsContainer) {this.buttons = $(tabsContainer).getElements('h2 a');}
    this.outerSlidesBox = $(slideContainer);
    this.innerSlidesBox = this.outerSlidesBox.getFirst();
    this.panes = this.innerSlidesBox.getChildren();
    if(numbers) this.slideNumbers = $(numbers);

    this.setOptions(options);

    this.fx = new Fx.Scroll(this.outerSlidesBox, this.options.slideEffect);

    // set up button highlight
    this.current = this.options.startingSlide ? this.panes.indexOf($(this.options.startingSlide)) : 0;
    if (this.buttons) { this.buttons[this.current].addClass(this.options.activeButtonClass); }

    // add needed stylings
    this.outerSlidesBox.setStyle('overflow', 'hidden');
    this.panes.each(function(pane, index) {
    pane.setStyles({
    'float': 'left',
    'width': this.outerSlidesBox.getStyle('width'),
    'overflow': 'hidden',
    'display':'block'
    });
    }.bind(this));

    // stupidness to make IE work - it boggles the mind why this has any effect
    // maybe it's something to do with giving it layout?
    this.innerSlidesBox.setStyle('float', 'left');

    this.innerSlidesBox.setStyle(
    'width', (this.outerSlidesBox.offsetWidth.toInt() * this.panes.length) + 'px'
    );

    if (this.options.startingSlide) this.fx.toElement(this.options.startingSlide);

    // add events to the buttons
    if (this.buttons) this.buttons.each( function(button) {
    button.addEvent(this.options.activationEvent, this.buttonEventHandler.bindWithEvent(this, button));
    }.bind(this));
    if (nextButton) $(nextButton).addEvent('click', this.previous.bindWithEvent(this));
    if (prevButton) $(prevButton).addEvent('click', this.next.bindWithEvent(this));
    if (this.slideNumbers) this.slideNumbers.setHTML(this.convertToFarsi(this .current.toInt()+1) + '/' + this.convertToFarsi(this.panes.length.toInt()));
    },


    changeTo: function(element) {
    var event = { cancel: false, target: $(element) };
    this.fireEvent('change', event);
    if (event.cancel == true) { return; };

    if (this.buttons) { this.buttons[this.current].removeClass(this.options.activeButtonClass); };
    this.current = this.panes.indexOf($(event.target));
    if (this.buttons) { this.buttons[this.current].addClass(this.options.activeButtonClass); };
    this.fx.stop();
    this.fx.toElement(event.target);
    if (this.slideNumbers) this.slideNumbers.setHTML(this.convertToFarsi(this .current.toInt()+1) + '/' + this.convertToFarsi(this.panes.length.toInt()));
    },

    // Handles a click
    buttonEventHandler: function(event, button) {
    event.stop();
    if (event.target == this.buttons[this.current]) return;
    this.changeTo(this.panes[this.buttons.indexOf($(button))]);
    },
    convertToFarsi: function(str) {
    var output = '';
    var c;
    var numbers = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
    var str = str.toString();
    for(var i=0; i < str.length; i++) {
    c = str.charCodeAt(i);
    if(c >= 48 && c <= 57) {
    output += numbers[c - 48];
    } else {
    output += String.fromCharCode(c);
    }
    }
    return output;
    },

    next: function(evt) {
    evt.stop();
    var next = this.current + 1;
    if (next == this.panes.length) {
    if (this.options.wrap == true) { next = 0 } else { return }
    }

    this.changeTo(this.panes[next]);
    },

    previous: function(evt) {
    evt.stop();
    var prev = this.current - 1
    if (prev < 0) {
    if (this.options.wrap == true) { prev = this.panes.length - 1 } else { return }
    }

    this.changeTo(this.panes[prev]);
    }
    });

    SlidingTabs.implement(new Options, new Events);

  3. #3
    کاربر دائمی آواتار peymannaji
    تاریخ عضویت
    مهر 1385
    محل زندگی
    تو یکی از صفرهای گوگل ...
    پست
    881

    نقل قول: درخواست کامپونت TabContainer

    ممنون اما اگه میشه کمی توضیح بدید در این مورد چون هیچی نفهمیدم و یک مثال از نحوه استفاده کدتون رو اگر محبت کنید و اینجا بزارید ممنون میشم .

  4. #4

    نقل قول: درخواست کامپونت TabContainer

    این کد Tab مربوط به همون سایت www.Ketabeavval.ir هستش

  5. #5
    کاربر دائمی آواتار peymannaji
    تاریخ عضویت
    مهر 1385
    محل زندگی
    تو یکی از صفرهای گوگل ...
    پست
    881

    نقل قول: درخواست کامپونت TabContainer

    ممنون دوست عزیز اما با کلی آزمون و خطا بازم هم نتوستم کاری بکنم .

  6. #6
    کاربر دائمی آواتار peymannaji
    تاریخ عضویت
    مهر 1385
    محل زندگی
    تو یکی از صفرهای گوگل ...
    پست
    881

    نقل قول: درخواست کامپونت TabContainer

    دوستان عزیز کسی میتونه کمک کنه ؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •