1

リンクが多すぎてカラー配列が短すぎる場合に、(関数get_hover_colorで)0から再起動するように配列を管理するにはどうすればよいですか?助けてくれてありがとう!

まで。

<div class="line">
<div><h2 class="color_link">DRUCKVORSTUFE</h2></div>
<div><h2 class="color_link">SCAN</h2></div>
<div><h2 class="color_link">RETUSCHEN</h2></div>
<div><h2 class="color_link">ANDRUCK</h2></div>
<div><h2 class="color_link">PDF</h2></div>
<div><h2 class="color_link">CTP</h2></div>
<div><h2 class="color_link">STACCATO</h2></div>
.............
.............
.............
........and so on........

</div>

function get_hover_color(i){

        hover_color_array = ['54cacd','e84d3a','ff3384','a0388d','231599','0d958a','629B39','33811E','F04E00','F00200','D9008F','58dbb4','093C8B','AECB27','E5B208','74204f','C26A21','DB2C17','cccf78','166C64','9A1E6E','7EADC2','00A1CE'];

return hover_color_array[i];

     }



$('.color_link').each(function(i){
            $(this).hover(
             function(){
               var $this = $( this );
               $this.data( 'prehovercolor', $this.css( 'color' ) ).css( {'color' : '#' + get_hover_color(i), 'cursor' : 'pointer' });
             },function(){
               var $this = $( this );
               $this.css( 'color', $this.data( 'prehovercolor') );
             });
        });
4

2 に答える 2

1

これを行う:

hover_color_array[i % hover_color_array.length]

これにより、残りの部分が必要になるため、常に配列内に収まる範囲が得られます0hover_color_array.length-1

于 2013-01-28T18:07:26.503 に答える
0

長さのモジュラスを使用することを検討してください。

function get_hover_color(i){

    hover_color_array = ['54cacd','e84d3a','ff3384','a0388d','231599','0d958a','629B39','33811E','F04E00','F00200','D9008F','58dbb4','093C8B','AECB27','E5B208','74204f','C26A21','DB2C17','cccf78','166C64','9A1E6E','7EADC2','00A1CE'];

k = i % hover_color_array.length;

return hover_color_array[k];

 }

http://msdn.microsoft.com/en-us/library/ie/9f59bza0(v=vs.94).aspx

于 2013-01-28T18:08:51.940 に答える