2016-03-30 18 views
0

Bu algoritmanın nasıl yapılacağı hakkında bir mantık hazırlayamadığım bir durumdayım. Görüntülerin dizisine sahipGeçerli yinelemede bir sonraki yinelemenin değeri nasıl elde edilir

bu alternatively.Like Her görüntü arasındaki ok sahiptir: bu oklar da onlar üzerinden toplam değerine sahip olan ok görüntüleri olan Image - > Image - > Image - > Image

. Şimdi bir önceki okundaki görüntü değerini göstermem gerekiyor (ilk resmin herhangi bir önceki oku bulunmadığı için, önceki okdaki değerini görüntülemek için bir sonraki görüntü değeriyle (3. konumda görüntü) ilgilenmemiz gerekiyor (ikinci konumdaki ok resmi)) biz json değil doğru olup olmadığını görüntü yolunu ve değerlerini (üzgünüm ama burada i) bilmek

[{imagename1: "[email protected]", image1Value1:"[email protected]"},{imagename2: "[email protected]", image1Value2:"[email protected]"},{imagename3: "[email protected]", image1Value3:"[email protected]"},{imagename4: "[email protected]", image1Value4:"[email protected]"},{imagename5: "[email protected]", image1Value5:"[email protected]"}, {imagename6: "arrowimage6.png", image1Value6:"[email protected]"},{imagename7: "[email protected]", image1Value7:"[email protected]"}, {imagename8: "[email protected]", image1Value8:"[email protected]"}] 

çalışıyorum odaklanmak ve mısın buradan

i elde etmek istediğim şey: http://prntscr.com/am3337

Burada mantığı uyguladığım json'a bakın:

$(json).each(function(i, val) //here i receive all images 
    { 
     var counter=1; 

       $.each(val, function(key, val) //this value is the value contained about arrow image 
       { 
         var splitted = val.split('@'); 
         var iamgename=splitted[0];//first parameter 
         var imageValue=splitted[1];//second paremeter 

         //how to get the next iteration value on current iteration (lets say if i am on second iteration , how can i get the third iteration image value here) 
       } 
     } 

Sorum şu anki yineleme değerini önceki ok görüntüsünde görüntülemek için nasıl kaydedebilirim. (Ekran kısmı ben kendim yapabilirim). Fakat sorun şu ki, örneğin, döngü $.each(val, function(key, val){}'un üçüncü yinelemesi altındayım. Şimdi üçüncü yinelemede splitted[0]="image3.png" ve splitted[1]="imValue3" var, imValue3'ün yukarısını görüntülemek için arrowimage2.png biraz zordur (bir yinelemeye geri dönmek için şimdiki yineleme değeri kaydedilir mi?). Ya da diğer bir çözüm, ikinci yinelemede olmak, üçüncü yinelemenin değerini elde etmeye çalışmak olabilir (bu i gibi [i + 1] yapabilirdim) eğer i = 2 olduğu döngü için olsaydı, hala değer alabilirim = Bir artışla 3, ama $.each(val, function(key, val){} döngüsünde nasıl yapılacağını bilmiyorum) Bazılarının bu problemi aşmamı önerebileceği konusunda bir fikriniz var mı? Eğer değer kurtarabilecek

+0

aşağıdadır '' 'gibi bir' HTML' benzer JSON'? – ameenulla0007

+0

json şunun gibidir: [{imagename1: "image1.png", image1Value1: "imValue1"}, {imagename2: "arrowimage2.png", image1Value2: "arrValue2"}, {imagename3: "image3.png", image1Value3: "imValue3"}, {imagename4: "arrowimage4.png", image1Value4: "arrValue4"}, {imagename5: "image5.png", image1Value5: "imValue5"}, {imagename6: "arrowimage6.png", image1Value6: "arrValue6 "}, {imagename7:" image7.png ", image1Value7:" imValue7 "}, {imagename8:" arrowimage8.png ", image1Value8:" arrValue8 "}] (sizi yanlış yorumladıysam özür dilerim) – struggling

+0

ve i bu stringbuilder.push gibi html üretilmesi ('

"' + splitted[2] + '"
'); $ ('# imageDivs') ekleme (stringbuilder.join ('')); – struggling

cevap

0

bir yolu kullandım kez her zaman üzerine yazmak böylece fonksiyonunun dış kapsamına atamak için burada var outerScope = 'some initializing' function blub{ process outerScope //maybe you want to check its initializing value on first Iteration outerScope = myNewValue }

+0

olduğu için üzgünüm, gerçekten ne demek istediğimi anlamadım. ve bölünmüş değer [1] ve şimdiki yinelemede bir sonraki bölünmüş değerin nasıl elde edileceği [1]? ya da lütfen bana bir örnek ver ve iyi anlatabilmem için açıkla? – struggling

1
var json = [{imagename1: "image1.png", image1Value1:"imValue1"},{imagename2: "arrowimage2.png", image1Value2:"arrValue2"},{imagename3: "image3.png", image1Value3:"imValue3"},{imagename4: "arrowimage4.png", image1Value4:"arrValue4"},{imagename5: "image5.png", image1Value5:"imValue5"}, {imagename6: "arrowimage6.png", image1Value6:"arrValue6"},{imagename7: "image7.png", image1Value7:"imValue7"}, {imagename8: "arrowimage8.png", image1Value8:"arrValue8"}]; 

var counter = 1; 
$(json).each(function(i, val) { 
    var nextImageName = json[counter]["imagename"+(counter+1)]; //your next image content is here. 
    $.each(val, function(key, newVal) { 
     var splitted  = newVal.split('@'); 
     var iamgename  = splitted[0]; 
     var imagecontent = splitted[1]; 
    }); 
    counter++; 
}); 

öyle, çizgi var nextImageName = json[counter]["imagename"+(counter+1)]; dönecektir bir sonraki yinelenen görüntü yolunuzla.

+0

Cevabınız için teşekkürler, yarın sabahı test edeceğim, eğer işe yararsa cevap olarak işaretleyeceksin :) – struggling

+0

ama lütfen bu "imagename" in bu satırdaki jsonun tüm alt kümelerinde aynı olmadığını unutmayın "json [counter] [" BinderName "+ (sayaç + 1)]." Onun benzeri imagename1, imagename2, imagename3..ve böyle devam ediyor. – struggling

+0

yup, inanıyorum ki, bu işe yarar, eğer tuz eklenecek bir şey hissederseniz, yapacağız .. :) – ameenulla0007

İlgili konular