Profil detayı eklendi, herkes profillerine girip bir gözatsın! Sevdiğiniz üyelerin cevaplarını takip edin! Tüm güncellemeler

Bunu mantığı nedir? Jquery sorun

Merhaba herkese. Arkadaşlar jquery şöyle bir kod yazdım. Mesela sitede 10 tane içerik var ve bu içeriği Ajaxla çekip ana sayfda #showdetail isimli id içerisinde gösteriyorum. Ama sorun şu ki her içeriğe klik yapıldığında tüm içerikler ana sayfada açık kalıyor. Ben bunu şimdi nasıl yapa bilirim ki, her hangi bir içeriğe klik yaptığımda eğer açık olan bir içerik varsa o kapansın klik yaptığım açılsın ? Şimdiden yardım edenlere teşekkür ederim.


Ana sayfadaki kod:


<div class="show-card" data-id="<?= $new['show_id'] ?>" >
    <div class="showImg"
         style="background: url(<?=site_url('upload/items/'.$array_covers[0])?>)"></div>
    <div class="more"><img src="<?=public_url('img/more2.png')?>">
    </div>
    <div class="arrow-down"></div>
</div>


<div class="showDetail" id="showdetail<?= $new['show_id'] ?>"></div>



Js tarafındaki kod:



var URL = '/showdetail';

$(document).ready(function () {

    function showAjax(URL, showID, detail, divID, response) {

        $.ajax({
            type: "POST",
            url: URL,
            data: detail,
            dataType: 'html',
            beforeSend: function () {
                $('#' + divID + showID).html('<div id="loading"><img src="/public/default/img/loading.svg"/></div>');
            },
            success: function (cavab) {

                response(cavab);

                $(".showslide").slick({
                    slidesToShow: 1,
                    autoplay: true,
                    fade: true,
                    cssEase: 'ease',
                    speed: 2000,
                    dots: false,
                    arrows: false
                });


                $(".pTab2").pTab({
                    pTab: '.pTabListe2',
                    pTabElem: 'li',
                    pClass: 'pAktif2',
                    pContent: '.pTabContent2',
                    pDuration: 600,
                    pEffect: 'fadeIn',
                });
            },
            error: function () {
                alert('not found!');
            }
        });
    };



var click = null;

$(document).on("click", ".show-card", function () {

    var index = $(this).index();

    var showID = $(this).data("id");
    var detail = {id: showID};
    var divID = 'showdetail';


    if (click != index) {

        showAjax(URL, showID, detail, divID, function (cavab) {

            $('#' + divID + showID).html(cavab);

        });

        click = index;

    } else {
        click = null;

        $('#' + divID + showID).empty();
    }


});





1

Cevaplar (1)

İşlem devam ediyor, lütfen bekleyin..
Serdar Güler
@gulers
1 hafta önce

Merhaba,


Html'i doldurduğun yerin hemen üzerinde $(".showDetail").html(" "); şöyle bir kod yazarsan var olan tüm showDetail divlerinin içini temizler. Ardından senin belirttiğin id'nin içerisini doldurur.

İşlem devam ediyor, lütfen bekleyin..

Cevap yaz Sadece sorunun cevabını yazın

Yabancı Dizi Arşivi