Jquery菜单,代码更少

时间:2010-05-10 10:11:37

标签: jquery

我正在使用Jquery创建的菜单如下:

<div class="prof_info1">home</div><div class="prof_info2">info2</div><div class="prof_info3">info3</div>

和Jquery代码一样:

$(document).ready(function(){

$(".prof_info1").unbind("click").click(function(event) {
$("#main").html('<img src="img/spin.gif" class="spin">');
location.replace("?&id=<?=$id?>")
return false;
});

$(".prof_info2").unbind("click").click(function(event) {
$("#main").html('<img src="img/spin.gif" class="spin">');
$("#main").load('?a=2&id=<?=$id?>');
return false;
});


$(".prof_info3").unbind("click").click(function(event) {
$("#glavni").html('<img src="img/spin.gif" class="spin">');
$("#glavni").load('?a=3&id=<?=$id?>');
return false;
});

});

有没有更简单的方法来编写这个Jquery代码并使用更少的代码来实现它? 像

这样的东西
if click somethind{
...
}elseif{
....}

2 个答案:

答案 0 :(得分:4)

尝试这个解决方案。

<div class="prof_info redirect">
    <a href="?&id=1">home</a>
</div>
<div class="prof_info ajax">
    <a href="?&id=1">info2</a>
</div>
<div class="prof_info ajax">
    <a href="?&id=3">info3</a>
</div>

JS

$(document).ready(function(){
    $(".prof_info a").click(function(event) {
        $("#main").html('<img src="img/spin.gif" class="spin">');
        if($(this).parent('.redirect').get(0)){
            location.replace($(this).attr('href'));
        }else{
            $("#main").load($(this).attr('href'));
        }
        return false;
    });
});

答案 1 :(得分:0)

 <div class="menu_clickable prof_info1" data-element="#main" 
data-load="?&id=<?=$id?>">home</div>


$('.menu_clickable').unbind('click').click(function(){

$(this).attr('data-element').html('<img src="img/spin.gif" class="spin">');
$(this).attr('data-element').load($(this).attr('data-load'));
return false;

});

HTH