Đăng nhập
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
Trang 1 trong tổng số 1 trang
Giúp đỡ rút gọn js thừa code trong topic.
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
- 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>
Re: Giúp đỡ rút gọn js thừa code trong topic.
Tìm được rồi
script ai dùng thì dùng .Ai có thẩm quyền close cũng được
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');
});
});
Re: Giúp đỡ rút gọn js thừa code trong topic.
Vào jquery ui mà coi, nó có cho bạn lựa chọn như những plugin cần thiết...
Similar topics
» [Thắc mắc] Code nền lí lịch cho từng thành viên trong topic[✔]
» [Xin] Code show hình dạng như hình trong topic
» [Code] Resize ảnh trong Topic[✔]
» [Thắc mắc]xin code hình phân biệt admin và mem trong lastest topic
» [Thắc mắc] Xin code đánh dấu từng bài trả lời trong View topic boidy
» [Xin] Code show hình dạng như hình trong topic
» [Code] Resize ảnh trong Topic[✔]
» [Thắc mắc]xin code hình phân biệt admin và mem trong lastest topic
» [Thắc mắc] Xin code đánh dấu từng bài trả lời trong View topic boidy
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết