CHINH PHỤC
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Đăng nhập

Ghi nhớ
Latest topics
» Tôi sẽ đỗ đại học!
by NgocPRO 6/11/2024, 8:37 am

» Kỷ niệm xưa của chúng ta
by nightWalker 9/2/2024, 6:49 pm

» Bị lệch khung cần người giúp đỡ
by webhuy28 7/10/2021, 10:34 pm

» [HỎI ĐÁP] Danh sách bạn bè không thể hiển thị
by anhdaodaica1 2/10/2021, 10:04 pm

» [HỎI ĐÁP] Thông tin tài khoản không thể lưu thay đổi
by anhdaodaica1 2/10/2021, 6:05 am

» Phim bố già full
by huy.pc52 24/8/2021, 12:20 am

» Xin code Box HTML cho Forumvi
by Larva 1/7/2021, 12:57 pm

» Hello Anh Em Chinh phục
by HoàngTửNaivip5p 28/5/2021, 5:03 am

» Trang chủ tin tức cập nhật HOT 2016
by kenbi05 1/1/2020, 11:02 pm

» Không Dang9 bài viết = hình ảnh được
by huy.pc52 30/11/2019, 10:52 am

» CHÚC ANH EM NĂM MỚI VUI VẺ TRÀNG ĐẦY HẠNH PHÚC
by sps.kủn 12/2/2019, 1:16 pm

» Skin CNTT-K3 2015 (Full Mod)[✔]
by kenbi05 6/7/2018, 12:30 am

» baivong, handsome,....
by sps.kủn 29/6/2018, 1:54 pm

» [SHARE] SKIN ĐHFM.V7 @PUNBB
by tonyhoaivu 2/5/2018, 2:37 pm

» Share Skin Xanh Dương Cùi Bắp
by tonyhoaivu 28/4/2018, 5:57 pm

» Xin Skin http://v1.hotrofm.net/
by tonyhoaivu 28/4/2018, 5:45 pm

» Xin Skin Rao Vặt
by tonyhoaivu 15/4/2018, 12:07 pm

» Làm Sao Để Xóa Khung Này
by tonyhoaivu 14/4/2018, 7:18 pm

» [Lập nhóm]Lập nhóm fm
by vietkanpy 31/3/2018, 11:53 am

» [Help] về server úp ảnh của phutu [✔]
by baivong 17/3/2018, 10:18 pm

» Đừng khóc cho “tôi – Chinh Phục!”…
by AnHung 27/2/2018, 5:33 pm

» [Share] Skin Diendandaihoc.com [ Punbb ] [✔]
by Lu Mờ 13/2/2018, 7:28 pm

» Mời mấy thím vào groups Forumotion Việt Nam.
by dang02315 13/2/2018, 12:40 am

» Có thể làm các kiểu giao diện được không?
by Lu Mờ 9/2/2018, 3:40 pm

» ltns chinhphuc.info
by Shinichi Kudo 27/1/2018, 2:27 am

Top posting users this week
No user


Giúp đỡ rút gọn js thừa code trong topic.

2 posters

Go down

Giúp đỡ rút gọn js thừa code trong topic. Empty Giúp đỡ rút gọn js thừa code trong topic.

Bài gửi by phutu01 11/7/2012, 5:36 pm

Giúp đỡ rút gọn js thừa code trong topic. Untit181
Có đoạn jq http://www.haynhat.com/home/wp-content/themes/fun/javascripts/jquery-ui.min.js ai giúp mình lấy những khúc cần thiết .Hoặc ai có code hay hơn thì share với Good good

Code:
<style>
#featured {
width:auto;
position:relative;
height:auto;
}

#featured ul.ui-tabs-nav {
margin-left:5px;
width:auto;float:left;
list-style:none;
color:#fff;
}

#featured ul.ui-tabs-nav
li {
float:left;
padding:0 0 1px;
}

#featured ul.ui-tabs-nav li
img {
float:left;
background:#fff;
width:80px;
height:44px;
border:1px solid #666;
margin:3px;
padding:1px;
}

#featured li.ui-tabs-nav-item
a {
display:block;
background:#d1ebff;
height:54px;
padding:0px;
opacity:.75;
filter:alpha(opacity=75);
}

#featured li.ui-tabs-nav-item a:hover {
background:#09c;
opacity:1;
filter:alpha(opacity=1);
}

#featured li.ui-tabs-selected {
padding:0 0 1px;
}

#featured ul.ui-tabs-nav li.ui-tabs-selected a {
background:#09c;
opacity:1;
filter:alpha(opacity=1);
}

#featured .ui-tabs-panel {
background:#000;
width:370px;
position:relative;
margin:0;
padding:0;
}

#featured .ui-tabs-panel
img {
width:368px;
height:234px;
border:1px solid #b0b0b0;
}

#featured .ui-tabs-panel
.info {
position:absolute;
background:#000;
margin:0px 1px;
width:358px;
bottom:0;
left:0;
padding:5px;
}

#featured .info h2 {
font-size:18px;
color:#fff;
line-height:22px;
overflow:hidden;
}

#featured .info
a {
text-decoration:none;
color:#fff;
}

#featured .info a:hover {
text-decoration:underline;
}

#featured .ui-tabs-hide {
display:none;
}
</style>

<div style="padding:8px;height:15px;background:#FFF;border: 1px solid #d4d4d4;font: 11px Tahoma;border-bottom:0px">DIVIDE & FIGHT v2.06d</div>
<div style="border:1px solid #cccccc;background:#FFF url(http://265g.com/templets/265g/images/bg_mod.gif)repeat-x bottom left;padding:8px;border-top:0px;height:300px;padding-top:4px;">
<div id="featured"><div id="post-17529" class="ui-tabs-panel ui-tabs-hide">
<a
href="http://www.haynhat.com/home/hinh-vui/2012/07/lien-khuc-cuoi-so-17/" rel="bookmark">
<img src="http://i48.servimg.com/u/f48/16/18/15/10/3ecb2110.jpg" /></a><div class="info" ><h2>
<a href="http://www.haynhat.com/home/hinh-vui/2012/07/lien-khuc-cuoi-so-17/" rel="bookmark">Thông tin Divide and fight v2.07</a></h2>
</div>
</div><div id="post-17521" class="ui-tabs-panel ui-tabs-hide">
<a href="http://www.haynhat.com/home/hinh-vui/2012/07/lien-khuc-cuoi-so-16/" rel="bookmark"><img
src="
http://img.haynhat.com/uploads/2012/07/HayNhat_Com__2013_zen-4.jpg
" alt="Liên khúc cười (số 16)" /></a><div class="info" >
<h2><a
href="http://www.haynhat.com/home/hinh-vui/2012/07/lien-khuc-cuoi-so-16/" rel="bookmark"> Liên khúc cười (số 16) </a></h2></div></div><div id="post-17441" class="ui-tabs-panel ui-tabs-hide"><a
href="http://www.haynhat.com/home/hinh-vui/2012/06/lien-khuc-cuoi-so-15/" rel="bookmark"><img
src="
http://img.haynhat.com/uploads/2012/06/602645_360029987403568_777344319_n.jpg
" alt="Liên khúc cười (số 15)" /></a><div
class="info" ><h2><a
href="http://www.haynhat.com/home/hinh-vui/2012/06/lien-khuc-cuoi-so-15/" rel="bookmark"> Liên khúc cười (số 15) </a></h2></div></div><div id="post-17434" class="ui-tabs-panel ui-tabs-hide"><a
href="http://www.haynhat.com/home/hinh-vui/2012/06/lien-khuc-cuoi-so-14/" rel="bookmark"><img
src="
http://img.haynhat.com/uploads/2012/06/HayNhat_com___212-49.jpg
" alt="Liên khúc cười (số 14)" /></a><div
class="info" ><h2><a
href="http://www.haynhat.com/home/hinh-vui/2012/06/lien-khuc-cuoi-so-14/" rel="bookmark"> Liên khúc cười (số 14) </a></h2></div></div>

<ul class="ui-tabs-nav"><li
class="ui-tabs-nav-item ui-tabs-selected" id="nav-post-17529"><a
href="#post-17529"><img
src="
http://i48.servimg.com/u/f48/16/18/15/10/3ecb2110.jpg
" alt="Liên khúc cười (số 17)" /></a></li><li
class="ui-tabs-nav-item ui-tabs-selected" id="nav-post-17521"><a
href="#post-17521"><img
src="
http://img.haynhat.com/uploads/2012/07/HayNhat_Com__2013_zen-4-150x150.jpg
" alt="Liên khúc cười (số 16)" /></a></li><li
class="ui-tabs-nav-item ui-tabs-selected" id="nav-post-17441"><a
href="#post-17441"><img
src="
http://img.haynhat.com/uploads/2012/06/602645_360029987403568_777344319_n-150x150.jpg
" alt="Liên khúc cười (số 15)" /></a></li><li
class="ui-tabs-nav-item ui-tabs-selected" id="nav-post-17434"><a
href="#post-17434"><img
src="
http://img.haynhat.com/uploads/2012/06/HayNhat_com___212-49-150x150.jpg
" alt="Liên khúc cười (số 14)" /></a></li></ul></div></div>

<script type="text/javascript" src="http://www.haynhat.com/home/wp-content/themes/fun/javascripts/jquery-ui.min.js" ></script>
<script type="text/javascript" src="http://www.haynhat.com/home/wp-content/themes/fun/javascripts/zen-js.js"></script>
https://i.servimg.com/u/f44/15/64/85/86/untit180.png
phutu01
phutu01
CPPurpleMember
CPPurpleMember

Firefox PunBB
Ngày đăng ký : 06/12/2009
Số bài : 1544
CPP : 216
Châm ngôn sống : 18

http://phutu.7forum.net

Về Đầu Trang Go down

Giúp đỡ rút gọn js thừa code trong topic. Empty Re: Giúp đỡ rút gọn js thừa code trong topic.

Bài gửi by phutu01 12/7/2012, 2:37 pm

up up
phutu01
phutu01
CPPurpleMember
CPPurpleMember

Firefox PunBB
Ngày đăng ký : 06/12/2009
Số bài : 1544
CPP : 216
Châm ngôn sống : 18

http://phutu.7forum.net

Về Đầu Trang Go down

Giúp đỡ rút gọn js thừa code trong topic. Empty Re: Giúp đỡ rút gọn js thừa code trong topic.

Bài gửi by phutu01 12/7/2012, 10:20 pm

Tìm được rồi

script ai dùng thì dùng .Ai có thẩm quyền close cũng được

Code:
(function ($) {
    $.ui = {
        plugin: {
            add: function (module, option, set) {
                var proto = $.ui[module].prototype;
                for (var i in set) {
                    proto.plugins[i] = proto.plugins[i] || [];
                    proto.plugins[i].push([option, set[i]]);
                }
            },
            call: function (instance, name, args) {
                var set = instance.plugins[name];
                if (!set) {
                    return;
                }
                for (var i = 0; i < set.length; i++) {
                    if (instance.options[set[i][0]]) {
                        set[i][1].apply(instance.element, args);
                    }
                }
            }
        },
        cssCache: {},
        css: function (name) {
            if ($.ui.cssCache[name]) {
                return $.ui.cssCache[name];
            }
            var tmp = $('<div class="ui-gen">').addClass(name).css({
                position: 'absolute',
                top: '-5000px',
                left: '-5000px',
                display: 'block'
            }).appendTo('body');
            $.ui.cssCache[name] = !!((!(/auto|default/).test(tmp.css('cursor')) || (/^[1-9]/).test(tmp.css('height')) || (/^[1-9]/).test(tmp.css('width')) || !(/none/).test(tmp.css('backgroundImage')) || !(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor'))));
            try {
                $('body').get(0).removeChild(tmp.get(0));
            } catch(e) {}
            return $.ui.cssCache[name];
        },
        disableSelection: function (el) {
            $(el).attr('unselectable', 'on').css('MozUserSelect', 'none');
        },
        enableSelection: function (el) {
            $(el).attr('unselectable', 'off').css('MozUserSelect', '');
        },
        hasScroll: function (e, a) {
            var scroll = /top/.test(a || "top") ? 'scrollTop' : 'scrollLeft',
            has = false;
            if (e[scroll] > 0) return true;
            e[scroll] = 1;
            has = e[scroll] > 0 ? true : false;
            e[scroll] = 0;
            return has;
        }
    };
    var _remove = $.fn.remove;
    $.fn.remove = function () {
        $("*", this).add(this).triggerHandler("remove");
        return _remove.apply(this, arguments);
    };

    function getter(namespace, plugin, method) {
        var methods = $[namespace][plugin].getter || [];
        methods = (typeof methods == "string" ? methods.split(/,?\s+/) : methods);
        return ($.inArray(method, methods) != -1);
    }
    $.widget = function (name, prototype) {
        var namespace = name.split(".")[0];
        name = name.split(".")[1];
        $.fn[name] = function (options) {
            var isMethodCall = (typeof options == 'string'),
                args = Array.prototype.slice.call(arguments, 1);
            if (isMethodCall && getter(namespace, name, options)) {
                var instance = $.data(this[0], name);
                return (instance ? instance[options].apply(instance, args) : undefined);
            }
            return this.each(function () {
                var instance = $.data(this, name);
                if (isMethodCall && instance && $.isFunction(instance[options])) {
                    instance[options].apply(instance, args);
                } else if (!isMethodCall) {
                    $.data(this, name, new $[namespace][name](this, options));
                }
            });
        };
        $[namespace][name] = function (element, options) {
            var self = this;
            this.widgetName = name;
            this.widgetBaseClass = namespace + '-' + name;
            this.options = $.extend({},
            $.widget.defaults, $[namespace][name].defaults, options);
            this.element = $(element).bind('setData.' + name, function (e, key, value) {
                return self.setData(key, value);
            }).bind('getData.' + name, function (e, key) {
                return self.getData(key);
            }).bind('remove', function () {
                return self.destroy();
            });
            this.init();
        };
        $[namespace][name].prototype = $.extend({},
        $.widget.prototype, prototype);
    };
    $.widget.prototype = {
        init: function () {},
        destroy: function () {
            this.element.removeData(this.widgetName);
        },
        getData: function (key) {
            return this.options[key];
        },
        setData: function (key, value) {
            this.options[key] = value;
            if (key == 'disabled') {
                this.element[value ? 'addClass' : 'removeClass'](this.widgetBaseClass + '-disabled');
            }
        },
        enable: function () {
            this.setData('disabled', false);
        },
        disable: function () {
            this.setData('disabled', true);
        }
    };
    $.widget.defaults = {
        disabled: false
    };
    $.ui.mouse = {
        mouseInit: function () {
            var self = this;
            this.element.bind('mousedown.' + this.widgetName, function (e) {
                return self.mouseDown(e);
            });
            if ($.browser.msie) {
                this._mouseUnselectable = this.element.attr('unselectable');
                this.element.attr('unselectable', 'on');
            }
            this.started = false;
        },
        mouseDestroy: function () {
            this.element.unbind('.' + this.widgetName);
            ($.browser.msie && this.element.attr('unselectable', this._mouseUnselectable));
        },
        mouseDown: function (e) {
            (this._mouseStarted && this.mouseUp(e));
            this._mouseDownEvent = e;
            var self = this,
                btnIsLeft = (e.which == 1),
                elIsCancel = (typeof this.options.cancel == "string" ? $(e.target).parents().add(e.target).filter(this.options.cancel).length : false);
            if (!btnIsLeft || elIsCancel || !this.mouseCapture(e)) {
                return true;
            }
            this._mouseDelayMet = !this.options.delay;
            if (!this._mouseDelayMet) {
                this._mouseDelayTimer = setTimeout(function () {
                    self._mouseDelayMet = true;
                },
                this.options.delay);
            }
            if (this.mouseDistanceMet(e) && this.mouseDelayMet(e)) {
                this._mouseStarted = (this.mouseStart(e) !== false);
                if (!this._mouseStarted) {
                    e.preventDefault();
                    return true;
                }
            }
            this._mouseMoveDelegate = function (e) {
                return self.mouseMove(e);
            };
            this._mouseUpDelegate = function (e) {
                return self.mouseUp(e);
            };
            $(document).bind('mousemove.' + this.widgetName, this._mouseMoveDelegate).bind('mouseup.' + this.widgetName, this._mouseUpDelegate);
            return false;
        },
        mouseMove: function (e) {
            if ($.browser.msie && !e.button) {
                return this.mouseUp(e);
            }
            if (this._mouseStarted) {
                this.mouseDrag(e);
                return false;
            }
            if (this.mouseDistanceMet(e) && this.mouseDelayMet(e)) {
                this._mouseStarted = (this.mouseStart(this._mouseDownEvent, e) !== false);
                (this._mouseStarted ? this.mouseDrag(e) : this.mouseUp(e));
            }
            return !this._mouseStarted;
        },
        mouseUp: function (e) {
            $(document).unbind('mousemove.' + this.widgetName, this._mouseMoveDelegate).unbind('mouseup.' + this.widgetName, this._mouseUpDelegate);
            if (this._mouseStarted) {
                this._mouseStarted = false;
                this.mouseStop(e);
            }
            return false;
        },
        mouseDistanceMet: function (e) {
            return (Math.max(Math.abs(this._mouseDownEvent.pageX - e.pageX), Math.abs(this._mouseDownEvent.pageY - e.pageY)) >= this.options.distance);
        },
        mouseDelayMet: function (e) {
            return this._mouseDelayMet;
        },
        mouseStart: function (e) {},
        mouseDrag: function (e) {},
        mouseStop: function (e) {},
        mouseCapture: function (e) {
            return true;
        }
    };
    $.ui.mouse.defaults = {
        cancel: null,
        distance: 1,
        delay: 0
    };
})(jQuery);
(function ($) {
    $.widget("ui.tabs", {
        init: function () {
            this.options.event += '.tabs';
            this.tabify(true);
        },
        setData: function (key, value) {
            if ((/^selected/).test(key)) this.select(value);
            else {
                this.options[key] = value;
                this.tabify();
            }
        },
        length: function () {
            return this.$tabs.length;
        },
        tabId: function (a) {
            return a.title && a.title.replace(/\s/g, '_').replace(/[^A-Za-z0-9\-_:\.]/g, '') || this.options.idPrefix + $.data(a);
        },
        ui: function (tab, panel) {
            return {
                options: this.options,
                tab: tab,
                panel: panel,
                index: this.$tabs.index(tab)
            };
        },
        tabify: function (init) {
            this.$lis = $('li:has(a[href])', this.element);
            this.$tabs = this.$lis.map(function () {
                return $('a', this)[0];
            });
            this.$panels = $([]);
            var self = this,
                o = this.options;
            this.$tabs.each(function (i, a) {
                if (a.hash && a.hash.replace('#', '')) self.$panels = self.$panels.add(a.hash);
                else if ($(a).attr('href') != '#') {
                    $.data(a, 'href.tabs', a.href);
                    $.data(a, 'load.tabs', a.href);
                    var id = self.tabId(a);
                    a.href = '#' + id;
                    var $panel = $('#' + id);
                    if (!$panel.length) {
                        $panel = $(o.panelTemplate).attr('id', id).addClass(o.panelClass).insertAfter(self.$panels[i - 1] || self.element);
                        $panel.data('destroy.tabs', true);
                    }
                    self.$panels = self.$panels.add($panel);
                } else o.disabled.push(i + 1);
            });
            if (init) {
                this.element.addClass(o.navClass);
                this.$panels.each(function () {
                    var $this = $(this);
                    $this.addClass(o.panelClass);
                });
                if (o.selected === undefined) {
                    if (location.hash) {
                        this.$tabs.each(function (i, a) {
                            if (a.hash == location.hash) {
                                o.selected = i;
                                if ($.browser.msie || $.browser.opera) {
                                    var $toShow = $(location.hash),
                                        toShowId = $toShow.attr('id');
                                    $toShow.attr('id', '');
                                    setTimeout(function () {
                                        $toShow.attr('id', toShowId);
                                    },
                                    500);
                                }
                                scrollTo(0, 0);
                                return false;
                            }
                        });
                    } else if (o.cookie) {
                        var index = parseInt($.cookie('ui-tabs' + $.data(self.element)), 10);
                        if (index && self.$tabs[index]) o.selected = index;
                    } else if (self.$lis.filter('.' + o.selectedClass).length) o.selected = self.$lis.index(self.$lis.filter('.' + o.selectedClass)[0]);
                }
                o.selected = o.selected === null || o.selected !== undefined ? o.selected : 0;
                o.disabled = $.unique(o.disabled.concat($.map(this.$lis.filter('.' + o.disabledClass), function (n, i) {
                    return self.$lis.index(n);
                }))).sort();
                if ($.inArray(o.selected, o.disabled) != -1) o.disabled.splice($.inArray(o.selected, o.disabled), 1);
                this.$panels.addClass(o.hideClass);
                this.$lis.removeClass(o.selectedClass);
                if (o.selected !== null) {
                    this.$panels.eq(o.selected).show().removeClass(o.hideClass);
                    this.$lis.eq(o.selected).addClass(o.selectedClass);
                    var onShow = function () {
                        $(self.element).triggerHandler('tabsshow', [self.fakeEvent('tabsshow'), self.ui(self.$tabs[o.selected], self.$panels[o.selected])], o.show);
                    };
                    if ($.data(this.$tabs[o.selected], 'load.tabs')) this.load(o.selected, onShow);
                    else onShow();
                }
                $(window).bind('unload', function () {
                    self.$tabs.unbind('.tabs');
                    self.$lis = self.$tabs = self.$panels = null;
                });
            }
            for (var i = 0, li; li = this.$lis[i]; i++)
            $(li)[$.inArray(i, o.disabled) != -1 && !$(li).hasClass(o.selectedClass) ? 'addClass' : 'removeClass'](o.disabledClass);
            if (o.cache === false) this.$tabs.removeData('cache.tabs');
            var hideFx, showFx, baseFx = {
                'min-width': 0,
                duration: 1
            },
                baseDuration = 'normal';
            if (o.fx && o.fx.constructor == Array) hideFx = o.fx[0] || baseFx,
            showFx = o.fx[1] || baseFx;
            else hideFx = showFx = o.fx || baseFx;
            var resetCSS = {
                display: '',
                overflow: '',
                height: ''
            };
            if (!$.browser.msie) resetCSS.opacity = '';

            function hideTab(clicked, $hide, $show) {
                $hide.animate(hideFx, hideFx.duration || baseDuration, function () {
                    $hide.addClass(o.hideClass).css(resetCSS);
                    if ($.browser.msie && hideFx.opacity) $hide[0].style.filter = '';
                    if ($show) showTab(clicked, $show, $hide);
                });
            }


            function showTab(clicked, $show, $hide) {
                if (showFx === baseFx) $show.css('display', 'block');
                $show.animate(showFx, showFx.duration || baseDuration, function () {
                    $show.removeClass(o.hideClass).css(resetCSS);
                    if ($.browser.msie && showFx.opacity) $show[0].style.filter = '';
                    $(self.element).triggerHandler('tabsshow', [self.fakeEvent('tabsshow'), self.ui(clicked, $show[0])], o.show);
                });
            }


            function switchTab(clicked, $li, $hide, $show) {
                $li.addClass(o.selectedClass).siblings().removeClass(o.selectedClass);
                hideTab(clicked, $hide, $show);
            }
            this.$tabs.unbind('.tabs').bind(o.event, function () {
                var $li = $(this).parents('li:eq(0)'),
                    $hide = self.$panels.filter(':visible'),
                    $show = $(this.hash);
                if (($li.hasClass(o.selectedClass) && !o.unselect) || $li.hasClass(o.disabledClass) || $(this).hasClass(o.loadingClass) || $(self.element).triggerHandler('tabsselect', [self.fakeEvent('tabsselect'), self.ui(this, $show[0])], o.select) === false) {
                    this.blur();
                    return false;
                }
                self.options.selected = self.$tabs.index(this);
                if (o.unselect) {
                    if ($li.hasClass(o.selectedClass)) {
                        self.options.selected = null;
                        $li.removeClass(o.selectedClass);
                        self.$panels.stop();
                        hideTab(this, $hide);
                        this.blur();
                        return false;
                    } else if (!$hide.length) {
                        self.$panels.stop();
                        var a = this;
                        self.load(self.$tabs.index(this), function () {
                            $li.addClass(o.selectedClass).addClass(o.unselectClass);
                            showTab(a, $show);
                        });
                        this.blur();
                        return false;
                    }
                }
                if (o.cookie) $.cookie('ui-tabs' + $.data(self.element), self.options.selected, o.cookie);
                self.$panels.stop();
                if ($show.length) {
                    var a = this;
                    self.load(self.$tabs.index(this), $hide.length ?
                    function () {
                        switchTab(a, $li, $hide, $show);
                    } : function () {
                        $li.addClass(o.selectedClass);
                        showTab(a, $show);
                    });
                } else throw 'jQuery UI Tabs: Mismatching fragment identifier.';
                if ($.browser.msie) this.blur();
                return false;
            });
            if (! (/^click/).test(o.event)) this.$tabs.bind('click.tabs', function () {
                return false;
            });
        },
        add: function (url, label, index) {
            if (index == undefined) index = this.$tabs.length;
            var o = this.options;
            var $li = $(o.tabTemplate.replace(/#\{href\}/g, url).replace(/#\{label\}/g, label));
            $li.data('destroy.tabs', true);
            var id = url.indexOf('#') == 0 ? url.replace('#', '') : this.tabId($('a:first-child', $li)[0]);
            var $panel = $('#' + id);
            if (!$panel.length) {
                $panel = $(o.panelTemplate).attr('id', id).addClass(o.hideClass).data('destroy.tabs', true);
            }
            $panel.addClass(o.panelClass);
            if (index >= this.$lis.length) {
                $li.appendTo(this.element);
                $panel.appendTo(this.element[0].parentNode);
            } else {
                $li.insertBefore(this.$lis[index]);
                $panel.insertBefore(this.$panels[index]);
            }
            o.disabled = $.map(o.disabled, function (n, i) {
                return n >= index ? ++n : n
            });
            this.tabify();
            if (this.$tabs.length == 1) {
                $li.addClass(o.selectedClass);
                $panel.removeClass(o.hideClass);
                var href = $.data(this.$tabs[0], 'load.tabs');
                if (href) this.load(index, href);
            }
            this.element.triggerHandler('tabsadd', [this.fakeEvent('tabsadd'), this.ui(this.$tabs[index], this.$panels[index])], o.add);
        },
        remove: function (index) {
            var o = this.options,
                $li = this.$lis.eq(index).remove(),
                $panel = this.$panels.eq(index).remove();
            if ($li.hasClass(o.selectedClass) && this.$tabs.length > 1) this.select(index + (index + 1 < this.$tabs.length ? 1 : -1));
            o.disabled = $.map($.grep(o.disabled, function (n, i) {
                return n != index;
            }), function (n, i) {
                return n >= index ? --n : n
            });
            this.tabify();
            this.element.triggerHandler('tabsremove', [this.fakeEvent('tabsremove'), this.ui($li.find('a')[0], $panel[0])], o.remove);
        },
        enable: function (index) {
            var o = this.options;
            if ($.inArray(index, o.disabled) == -1) return;
            var $li = this.$lis.eq(index).removeClass(o.disabledClass);
            if ($.browser.safari) {
                $li.css('display', 'inline-block');
                setTimeout(function () {
                    $li.css('display', 'block');
                },
                0);
            }
            o.disabled = $.grep(o.disabled, function (n, i) {
                return n != index;
            });
            this.element.triggerHandler('tabsenable', [this.fakeEvent('tabsenable'), this.ui(this.$tabs[index], this.$panels[index])], o.enable);
        },
        disable: function (index) {
            var self = this,
                o = this.options;
            if (index != o.selected) {
                this.$lis.eq(index).addClass(o.disabledClass);
                o.disabled.push(index);
                o.disabled.sort();
                this.element.triggerHandler('tabsdisable', [this.fakeEvent('tabsdisable'), this.ui(this.$tabs[index], this.$panels[index])], o.disable);
            }
        },
        select: function (index) {
            if (typeof index == 'string') index = this.$tabs.index(this.$tabs.filter('[href$=' + index + ']')[0]);
            this.$tabs.eq(index).trigger(this.options.event);
        },
        load: function (index, callback) {
            var self = this,
                o = this.options,
                $a = this.$tabs.eq(index),
                a = $a[0],
                bypassCache = callback == undefined || callback === false,
                url = $a.data('load.tabs');
            callback = callback ||
            function () {};
            if (!url || !bypassCache && $.data(a, 'cache.tabs')) {
                callback();
                return;
            }
            var inner = function (parent) {
                var $parent = $(parent),
                    $inner = $parent.find('*:last');
                return $inner.length && $inner.is(':not(img)') && $inner || $parent;
            };
            var cleanup = function () {
                self.$tabs.filter('.' + o.loadingClass).removeClass(o.loadingClass).each(function () {
                    if (o.spinner) inner(this).parent().html(inner(this).data('label.tabs'));
                });
                self.xhr = null;
            };
            if (o.spinner) {
                var label = inner(a).html();
                inner(a).wrapInner('<em></em>').find('em').data('label.tabs', label).html(o.spinner);
            }
            var ajaxOptions = $.extend({},
            o.ajaxOptions, {
                url: url,
                success: function (r, s) {
                    $(a.hash).html(r);
                    cleanup();
                    if (o.cache) $.data(a, 'cache.tabs', true);
                    $(self.element).triggerHandler('tabsload', [self.fakeEvent('tabsload'), self.ui(self.$tabs[index], self.$panels[index])], o.load);
                    o.ajaxOptions.success && o.ajaxOptions.success(r, s);
                    callback();
                }
            });
            if (this.xhr) {
                this.xhr.abort();
                cleanup();
            }
            $a.addClass(o.loadingClass);
            setTimeout(function () {
                self.xhr = $.ajax(ajaxOptions);
            },
            0);
        },
        url: function (index, url) {
            this.$tabs.eq(index).removeData('cache.tabs').data('load.tabs', url);
        },
        destroy: function () {
            var o = this.options;
            this.element.unbind('.tabs').removeClass(o.navClass).removeData('tabs');
            this.$tabs.each(function () {
                var href = $.data(this, 'href.tabs');
                if (href) this.href = href;
                var $this = $(this).unbind('.tabs');
                $.each(['href', 'load', 'cache'], function (i, prefix) {
                    $this.removeData(prefix + '.tabs');
                });
            });
            this.$lis.add(this.$panels).each(function () {
                if ($.data(this, 'destroy.tabs')) $(this).remove();
                else $(this).removeClass([o.selectedClass, o.unselectClass, o.disabledClass, o.panelClass, o.hideClass].join(' '));
            });
        },
        fakeEvent: function (type) {
            return $.event.fix({
                type: type,
                target: this.element[0]
            });
        }
    });
    $.ui.tabs.defaults = {
        unselect: false,
        event: 'click',
        disabled: [],
        cookie: null,
        spinner: 'Loading…',
        cache: false,
        idPrefix: 'ui-tabs-',
        ajaxOptions: {},
        fx: null,
        tabTemplate: '<li><a href="#{href}"><span>#{label}</span></a></li>',
        panelTemplate: '<div></div>',
        navClass: 'ui-tabs-nav',
        selectedClass: 'ui-tabs-selected',
        unselectClass: 'ui-tabs-unselect',
        disabledClass: 'ui-tabs-disabled',
        panelClass: 'ui-tabs-panel',
        hideClass: 'ui-tabs-hide',
        loadingClass: 'ui-tabs-loading'
    };
    $.ui.tabs.getter = "length";
    $.extend($.ui.tabs.prototype, {
        rotation: null,
        rotate: function (ms, continuing) {
            continuing = continuing || false;
            var self = this,
                t = this.options.selected;

            function start() {
                self.rotation = setInterval(function () {
                    t = ++t < self.$tabs.length ? t : 0;
                    self.select(t);
                },
                ms);
            }


            function stop(e) {
                if (!e || e.clientX) {
                    clearInterval(self.rotation);
                }
            }
            if (ms) {
                start();
                if (!continuing) this.$tabs.bind(this.options.event, stop);
                else this.$tabs.bind(this.options.event, function () {
                    stop();
                    t = self.options.selected;
                    start();
                });
            } else {
                stop();
                this.$tabs.unbind(this.options.event, stop);
            }
        }
    });
})(jQuery);
jQuery(document).ready(function($){

  // add nofollow to comment section
  $(".comments-box a").attr("rel", "nofollow");
 
  // add blank to comment section
  $(".comments-box a").attr("target", "_blank");
 
  //featered
 
  $("#featured > ul").tabs({fx:{opacity: "toggle"}}).tabs("rotate", 4000, true);
 
 jQuery('#go-top').click(function(){
   jQuery('html, body').animate({scrollTop:0}, 'slow');
});

});
phutu01
phutu01
CPPurpleMember
CPPurpleMember

Firefox PunBB
Ngày đăng ký : 06/12/2009
Số bài : 1544
CPP : 216
Châm ngôn sống : 18

http://phutu.7forum.net

Về Đầu Trang Go down

Giúp đỡ rút gọn js thừa code trong topic. Empty Re: Giúp đỡ rút gọn js thừa code trong topic.

Bài gửi by Zero 13/7/2012, 3:33 am

Vào jquery ui mà coi, nó có cho bạn lựa chọn như những plugin cần thiết...
Zero
Zero
CPYellowMember
CPYellowMember

Firefox PunBB
Ngày đăng ký : 01/01/2009
Số bài : 2328
CPP : 2418
Châm ngôn sống : YOLO

http://devs.cf

Về Đầu Trang Go down

Giúp đỡ rút gọn js thừa code trong topic. Empty Re: Giúp đỡ rút gọn js thừa code trong topic.

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết