我有一个带有三个按钮的块,每个按钮加载不同的内容。 如何将这三个几乎相同的函数缩短为一个函数?
$('#mega_online').click(function() {
$("#contentjq_more").empty().html('<center><img src="http://site.com/image.gif" /></center>');
$("#contentjq").load("http://site.com/online.php?more=" + $morenum + "&movies=1");
$("#contentjq_more").empty().html('');
$morenum = $morenum+20;
$("#contentjq").show();
});
$('#mega_files').click(function() {
$morenum = 0;
$("#contentjq_more").empty().html('<center><img src="http://site.com/image.gif" /></center>');
$("#contentjq").load("http://site.com/files.php?more=" + $morenum + "&movies=1");
$("#contentjq_more").empty().html('');
$morenum = $morenum+20;
$("#contentjq").show();
});
$('#mega_music').click(function() {
$morenum = 0;
$("#contentjq_more").empty().html('<center><img src="http://site.com/image.gif" /></center>');
$("#contentjq").load("http://site.com/music.php?more=" + $morenum + "&movies=1");
$("#contentjq_more").empty().html('');
$morenum = $morenum+20;
$("#contentjq").show();
});
答案 0 :(得分:2)
我认为它们几乎完全相同,你可以简单地将它放在一个函数中,并找到页面名称为pageName = this.id.split('_')[1]
。
function myFunc() {
var pageName = this.id.split('_')[1];
$("#contentjq_more").empty().html('<center><img src="http://site.com/image.gif" /></center>');
$("#contentjq").load("http://site.com/" + pageName + "?more=" + $morenum + "&movies=1");
$("#contentjq_more").empty().html('');
$morenum = $morenum+20;
$("#contentjq").show();
}
然后你可以,
$('#mega_online, #mega_files, #mega_music').click(function () {
myFunc.call(this);
});
答案 1 :(得分:1)
你可以:
function DoClick(page)
{
$("#contentjq_more").empty().html('<center><img src="http://site.com/image.gif" /></center>');
$("#contentjq").load("http://site.com/" + page + ".php?more=" + $morenum + "&movies=1");
$("#contentjq_more").empty().html('');
$morenum = $morenum+20;
$("#contentjq").show();
}
$('#mega_online, #mega_online, #mega_music').click(function() {
DoClick($(this).attr('id').split('_')[1]);
});
答案 2 :(得分:0)
你可以把它变成一个功能:
function doWork($type) {
$morenum = 0;
$("#contentjq_more").empty().html('<center><img src="http://site.com/image.gif" /></center>');
$("#contentjq").load("http://site.com/" + $type + ".php?more=" + $morenum + "&movies=1");
$("#contentjq_more").empty().html('');
$morenum = $morenum+20;
$("#contentjq").show();
}
$('#mega_music').click(function() {
doWork('music');
});
$('#mega_files').click(function() {
doWork('files');
});
$('#mega_online').click(function() {
doWork('online');
});