0

下部に異なる境界線の色を付けたいページに一連のリンクがあります。明らかに、親 div を対象とする CSS を使用してこれをスタイルアップできますが、色の値の配列がある場合は、jquery を使用してこれを行う簡単な方法があるはずだと考えました。

ホバー時に境界線を追加するこの関数を見つけましたが、変更したいので、デフォルトとしてpaに追加します。これが理にかなっていることを願っています。

これについてどうすればいいのか本当にわかりません...どんな指針でも素晴らしいでしょう...

<script>
$(document).ready(function() {
    $("p a").hover(function(e) {
        var randomClass = getRandomClass();
        $(e.target).attr("class", randomClass);
    });
});

function getRandomClass() {
    //Store available css classes
    var classes = new Array("yellow", "pink", "green", "blue");

    //Give a random number from 0 to 5
    var randomNumber = Math.floor(Math.random() * 5);

    return classes[randomNumber];
}
</script>

更新された機能

   $(document).ready(function() {
 $("p a").hover(function(e)
    {
        var randomClass = getRandomClass();
        $(e.target).attr("class", randomClass);
    });
});
function getRandomClass()
{
    //Store available css classes
    var classes = new Array("yellow", "pink", "green", "blue");

    //Give a random number from 0 to 5
    var randomNumber = Math.floor(Math.random()*4);

    return classes[randomNumber];
}
$(document).ready(function() {
    $("p a").each(function() {
        $(this).addClass(getRandomClass());
    });
});
4

2 に答える 2

1

このような何かがそれを行います:

$(document).ready(function() {
    $("p a").each(function() {
        $(this).addClass(getRandomClass());
    });
});

を使用して要素内の.each()すべての要素を反復処理し、使用してランダムなクラスを追加しますap.addClass()

于 2012-11-20T17:22:10.757 に答える
0

これはそれを行う必要があります:

$(document).ready(function() {
    $("p a").each(function(){
        $(this).addClass(getRandomClass());
    });
    $("p a").hover(function(e) {
        var randomClass = getRandomClass();
        $(this).addClass(randomClass);
    },function(e){
        $(this).removeClass();
    });
});

問題は、クラスが削除されなかったため、最後に css で発生したクラスだけが適用されることでした。

于 2012-11-20T17:26:20.557 に答える