Elemanlarının bir değişken uzunluk kılavuz elemanları bir konum belirleme

2 Cevap php

Ben elemanlarının bir değişken sayıda bir kılavuz var. 5 satıra görüntüleri ve görüntüleri bir değişken sayıda söylüyorlar. Ben (daha iyi bir kelime olmadığı için) hangi sütun her bir görüntü .. yani 1, 2, 3, 4 veya 5 inç olduğunu belirlemek gerekir.

4, 9 ve 15 sütunda 4 olacağını iken, bu Kılavuzda, resim 1, 6, 12 ve 17 1. sütunda olacaktır.

1  2  3  4  5 
6  7  8  9  10
12 13 14 15 16
17 18 19

Ne yapmaya çalışıyorum o sütun konumuna dayalı her öğe için bir arka plan görüntüsü uygulamak olduğunu.

Bir örnek bu sabit kodlanmış ve esnek olmayan ama mükemmel çalışıyor (ve elbette burada yanlış ağaca havlıyor yaşıyorum Birisi ben nasıl yaratırım "sormak görünce ideal her zaman böcek beni bu başarmak istiyorum nasıl söyle Bir altın, bu binanın üstüne almak için, güneş enerjili jet paketi kaplama nerede asansör bulunuyor ")" onlar gerçekten sorması gereken ne zaman "?:

switch (imgnum){
                case "1" : case "6" : case "11" :
                    value = "1";
                    break;
                case "2" : case "7" : case "12" :
                    value = "2";
                    break;
                case "3" : case "8" : case "13" :
                    value = "3";
                    break;
                case "4" : case "9" : case "14" :
                    value = "4";
                    break;
                case "5" : case "10" : case "15" :
                    value = "5";
                    break;
                default :
                    value = "";
            }

            $('.someclass > ul').css('background','url("/img/'+value+'.png") no-repeat');

Oh, daha fazla bilgi ... o anahtarı imgnum için değer bir click olayı ile belirlenir.

2 Cevap

Use the modulus operator for this type of work. The modulus operator gives you the remainder of an integer division. The modulus operator is % in both PHP and JS: http://php.net/manual/en/language.operators.arithmetic.php http://www.java2s.com/Tutorial/JavaScript/0040__Operators/Modulus.htm

Bu ile tüm kod bloğunu değiştirebilirsiniz:

value = imgnum % 5;
if(value == 0) { value = 5; }
$('.someclass > ul').css('background','url("/img/'+value+'.png") no-repeat');

Eğer istemci bu yapıyoruz varsayarak, jQuery nth child selector kullanabilirsiniz:

The index of each child to match, starting with 1, the string even or odd, or an equation ( eg. :nth-child(even), :nth-child(4n) )

Sütun sayısı indeksi Modülo 5 olurdu.