1

このサイトの写真にランダムな色を重ねようとして困っています。 http://www.reportageborsen.se/reportageborsen/wordpress

私が結合しようとしているJavascriptは次のとおりです。

 $(function() {
    $('.media-box .mask').each(function() {
        var hue = 'rgb(' + (Math.floor((256 - 199) * Math.random()) + 200) + ',' + (Math.floor((256 - 199) * Math.random()) + 200) + ',' + (Math.floor((256 - 199) * Math.random()) + 200) + ')';
        $(this).css("background-color", hue);
    });
});

///と///

$('.media-box').hover(function() {
    $(this).find('.mask').stop(true, true).fadeIn();
}, function() {
    $(this).find('.mask').stop(true, true).fadeOut();
});​

何らかの方法でそれらをまとめることは可能ですか?

よろしくお願いします

フォルテス

4

1 に答える 1

2

2 つの機能を 1 つにまとめたい場合は、次の方法を試してください。

var getRandomInRange = function(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
};

$('.media-box').each(function() {

    var mediaBox = $(this);
    var mask = mediaBox.find('.mask');
    var hue = 'rgb(' + getRandomInRange(200, 255) + ',' + getRandomInRange(200, 255) + ',' + getRandomInRange(200, 255) + ')';

    mask.css("background-color", hue);

    mediaBox.hover(function() {
        mask.stop(true, true).fadeIn();
    }, function() {
        mask.stop(true, true).fadeOut();
    });
});

わかりやすくするために、乱数ジェネレーターも別の関数に移動したことに注意してください。これがうまくいったかどうか教えてください。

于 2012-12-22T12:36:36.130 に答える