Şimdi Ara

Js -Jq Yardım koşul doğruysa kapsayan div olşturma

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
229
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar Js bilgim sıfır akıl yürütüp bazı kodların çalışma mantığına bakarak istediğim şeyi yapmaya çalıştım tabiki olmadı.
    Kodu çalıştırabilmem için yardım edebilecek var mı?
     
    <div class="outgoing"></div>
    <div class="incoming"></div>
    <div class="outgoing"></div>
    <div class="outgoing"></div>
    <div class="incoming"></div>
    <div class="incoming"></div>
    <div class="incoming"></div>


    Bu divleri şu şekilde kapsayan div içine almak istiyorum
    eğer outgoing'in üstündeki div incoming ise alttaki outgoingleri siğer incoming e kadar dive almak istiyorum.
     
    <div class="outgoing-content">
    <div class="outgoing"></div>
    </div>
    <div class="incoming-content">
    <div class="incoming"></div>
    </div>
    <div class="outgoing-content">
    <div class="outgoing"></div>
    <div class="outgoing"></div>
    </div>
    <div class="incoming-content">
    <div class="incoming"></div>
    <div class="incoming"></div>
    <div class="incoming"></div>
    </div>


    Şeklinde denediğim Js kodu bu ama tabiki kesinlikle beni istediğim şeye ulaştırmaz :D

    [code][/code]







  • jsfiddle üzerinden bir örnek oluşturdum.

    https://jsfiddle.net/92mcjL7s/2/
  • DLI D kullanıcısına yanıt
    Hocam öncelikle teşekkürler

    Ama aynı şekilde oluyor bir türlü anlam veremedim kapsayacak div olması gerekirken sadece bir içine daha alıyor her birini ayrı ayrı

    http://prntscr.com/f9aolj
  • kodlarında clear class ı var bu bozuyor. Ona göre yeniden düzenlemen gerekli.
  • DLI D kullanıcısına yanıt
    Aynen hocam tahmin ediyordum artık eminim

    preve sayı vermek clearı tanımlmak gibi şeyler denedim ama olmadı en son prevuntili denedim bana gerken kod o ama yine yapamadım

    	var groupName = "group"; 
    $('.messages-container > .content-incoming').each(function(){
    var cls = $(this).attr('class');
    if($(this).prevUntil(cls).hasClass(cls+'-'+groupName)) {
    $(this).appendTo($(this).prev());
    } else {
    $(this).wrap('<div class='+cls+'-'+groupName+'>');
    }
    });


    bunu denedim yine olmadı nasıl bu sorunu çözebilirim acaba
  • html kodlarını sayfada kulladığın biçimde gönderebilirsen düzenleyelim. clear olmadanda çözülür.
  • DLI D kullanıcısına yanıt
    Hocam div clear sorununu çözdüm
    Mesajlarımı döngü ile alıyordu mesaj benimse sağa değilse sola daya ve her mesajdan sonra clear atıyordu
    div clearı kaldırıp css ile gerekli classtan sonra after ile çözdüm clear both sorununu
    şimdi sadece son bir sorum kaldı.
     var groupName = "incoming"; 
    $('.messages-container > .gelen').each(function(){
    var cls = $(this).attr('class');
    if($(this).prev(2).hasClass(cls+'-'+groupName) ) {
    $(this).appendTo($(this).prev());
    } else {
    $(this).wrap('<div class='+cls+'-'+groupName+'>');
    }
    });
    var groupName = "outgoing";
    $('.messages-container > .giden').each(function(){
    var cls = $(this).attr('class');
    if($(this).prev(2).hasClass(cls+'-'+groupName) ) {
    $(this).appendTo($(this).prev());
    } else {
    $(this).wrap('<div class='+cls+'-'+groupName+'>');
    }
    });

    2 parça yazmak yerine tek parça yazmak mümkün mü kodu ?




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.