结合jQuery / JavaScript函数

时间:2011-03-29 14:59:58

标签: javascript jquery

有没有办法将所有这些结合起来以减少javascript的数量?

    $(document).ready(function() {

    $(".individualImagebox img").bind("click", function()
    {
        var src = $(this).attr("src");

        if (src.search(/Red\.jpg$/) >= 0) return;

        // Removes the red overlay from the images folder
        $('.individualImagebox img').attr( "src", function () {  
            var thisSRC = $(this).attr( "src");
            return thisSRC.replace(/Red\.jpg$/, ".jpg");
        });

        // Adds the red overlay from the images folder
        $(this).attr( "src", src.replace(/\.jpg$/, "Red.jpg")  );
    });

});

function ShowHide(index) {

    var itemSelector = ".name:eq(" + index + ")";

    $(".name .bio").fadeOut();
    $(".name").not(itemSelector).fadeOut();

    $(itemSelector).animate({"height": "show"}, { duration: 500 });
    $(itemSelector + " .bio").animate({"height": "show"}, { duration: 500 });

}

2 个答案:

答案 0 :(得分:1)

组合方法不会为您节省空间。看看

  

http://developer.yahoo.com/yui/compressor/

答案 1 :(得分:1)

$(function() { // $(function(){}) is a shortcut of $(document).ready(function(){})

    var $activeImg; // Maintain a reference to the last activated img

    $(".individualImagebox img").click(function(){
        if (!!$activeImg) {
            $activeImg.attr("src", function(i, src){
                return src.replace(/(.+)Red\.jpg$/, "$1.jpg");
            });
        }
        $activeImg = $(this).attr("src", function(i, src){ // replace attribute and updates active img reference
            return src.replace(/(.+)\.jpg$/, "$1Red.jpg");
        });
    });
});

我不确切知道你要做什么,但如果可能的话,你应该切换一个类而不是修改src属性。