jquery - 如何简化 jQuery 代码

标签 jquery navigation sliding

这是我接触 jQuery 的开始。我制作了一个简单的内容滑动导航,它非常适合我,但我不知道如何简化我的代码:

$(document).ready(function(){
    // Sliding content navigation
    var active = ".active"
    $('a.europa').click(function () {
        $(active).hide("slide", { direction: "left" }, 500);
        $('#europa-view').delay(500).show("slide", { direction: "left" }, 500);
        $('#italia-view, #emilia-view').removeClass('active');
        $('#europa-view').addClass('active');        
    });

    $('a.italia').click(function () {
        $(active).hide("slide", { direction: "left" }, 500);
        $('#italia-view').delay(500).show("slide", { direction: "left" }, 500);
        $('#europa-view, #emilia-view').removeClass('active');
        $('#italia-view').addClass('active');
    });

    $('a.emilia').click(function () {
        $(active).hide("slide", { direction: "left" }, 500);
        $('#emilia-view').delay(500).show("slide", { direction: "left" }, 500);
        $('#europa-view, #italia-view').removeClass('active');
        $('#emilia-view').addClass('active');
    });
});

Demo

最佳答案

试试这个:

Javascript:

// Sliding content navigation
var active = ".active"
$('a.sharedClass').click(function() {
    var name = $(this).attr('name');
    $(active).hide("slide", { direction: "left" }, 500).removeClass('active');

    $('#' + name).delay(500).show("slide", { direction: "left" }, 500)
                 .addClass('active');
});​

​ 列表的新 HTML:

<div id="view-navigator">
    <ul id="view-list">
        <li class="europa"><a href="#" class="europa sharedClass" name="europa-view">europa</a></li>
        <li class="italia"><a href="#" class="italia sharedClass" name="italia-view">italia</a></li>
        <li class="emilia"><a href="#" class="emilia sharedClass" name="emilia-view">emilia-romagna</a></li>
    </ul>
</div>

演示:http://jsfiddle.net/maniator/Tbrvv/

关于jquery - 如何简化 jQuery 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13730185/

相关文章:

javascript - 将 Get 方法结果存储到变量中并显示它

javascript - Highcharts - 如何获取系列中堆栈的值?

javascript - iframe 高度在页面内容较长后不会缩小

jquery - 使用jquery,如何将div滑入类似于powerpoint的页面中?

map - 在 Cocos2D 中滚动平铺 map

jquery - UnCaught TypeError $(...).kendoGrid 不是函数

javascript - javascript noob…文件写

android - 滑出突出显示的导航项

php - MySQL DB 驱动的菜单生成器函数

android - 如何创建一个平滑的过渡, View 移动到覆盖在 Activity 之上?