ProjeXCode Forum: Live Search Blogger

Title Role Staff

Title Role Senior Member

Title Role Member

Title Role Junior Member

Title Role New Member

Title Badge Moderator

Title Color Moderator

Title Badge Staff

Title Color Staff

Title Badge Member

Title Color Member

Status Info

Status Verified

ADS Title User

Your Time :

Server Time :

  • Live Search Blogger
    May 07, 2022
    Share this Threads
    Close
    Request Dari Anak Discord PXC (Gilang4321#4406).

    Request dari Bulan Maret kemarin akhirnya ku kerjain karena butuh juga untuk theme database ku nantinya.

    Demo : Click Disini

    Style.css :

    #resLive.active{opacity:1;height:200px;}
    #resLive{opacity:0;height:0;background:rgb(21 32 43);color:white;border-radius:4px;height:0;overflow-y:scroll;position:relative;transition:opacity .3s ease-out;position:absolute;top:46px;width:100%;}
    #resLive .infoLoading{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:800;font-size:21px;}
    #resLive div a {display: flex;align-items: center;gap: 12px;font-size: 18px;}
    #resLive div img {width: 64px;height: 64px;object-fit: cover;border-radius: 50%;}
    #resLive div.Item {margin: 12px 0;padding:12px;}
    #resLive div.Item:hover{background:rgb(13 23 33);}
    #resLive div.Item:nth-child(1){margin:0;}
    #resLive div.Item:nth-last-child(1):not(#demo div.Item:nth-child(1)) {margin: 12px 0 0;}
    


    Untuk Markup HTML engga ada yang special ckup cari form input querynya lalu tambahkan class.

    liveSearch


    Habis itu tambahkan Markup HTML dibawahnya.

    Markup HTML :

    <div id="resLive"></div>


    Sehabis itu cek bahwa form input kalian ada css position relative karena Markup HTML yang kalian tambhakan tersebut terdapat css position absolute. ini bertujuan agar letak hasil liveSearchnya tidak kemana2.

    Script.js :

    $('.liveSearch').each(function(){
    const uri = 'https://streaming-anime-indo.blogspot.com',
    arr = [],
    get = '';
    let res = 0;
    $(this).on('click input',function(){
    if(res == 0){
    $.ajax({
        type:"GET",
        url: uri + '/feeds/posts/default',
        data:{alt:"json","max-results":0},
        dataType:"jsonp",
        success:function(e){
            let l=e.feed.openSearch$totalResults.$t,
            c = l%150==0?l/150-1:Math.floor(l/150);
                    if(l>res){
              $('#resLive').addClass('active');
              $('#resLive').html('<div class="infoLoading">Getting Data (<span>0.0%</span>)</div>');
            for(let o=0;o<=c;o++){
            $.ajax({
        		type:"GET",
       			 url:uri + '/feeds/posts/default',
        		 data:{alt:"json","start-index":150*o+1,"max-results":150},
       			 dataType:"jsonp",
        		 success:function(e){
     		for(let i=0;i<e.feed.entry.length+1;i++){
            if(l>res){
            const obj = {},feed = e.feed.entry[i];
            obj['title'] = feed.title.$t;
            const content = feed.content != null ? feed.content.$t : feed.summary.$t,
            d=content.indexOf("<img"),
    		o=content.indexOf('src="',d) > -1 ? content.indexOf('src="',d) : content.indexOf("src='",d),
    		f=content.indexOf('"',o+5) > -1 ? content.indexOf('"',o+5) : content.indexOf("'",o+5),
    		g=content.substr(e+5,f-e-5),
    		imgs=-1!=d&&-1!=o&&-1!=f&&""!=g?g:"https://images.bizlaw.id/gbr_artikel/images-2_294.webp";
            obj['img'] = feed.media$thumbnail != null ? feed.media$thumbnail.url.replace(/s72-c/,'s500') : imgs;
            for(let x=0;x<feed.link.length;x++){
            obj['url'] = feed.link[x].href;
            }
            arr.push(obj);
            res++;
            $('#resLive .infoLoading span').html(((res/l)*100).toFixed(1) + '%');
            }else{
                   $('#resLive').html('<div class="infoLoading">Waiting You Type...</div>');}
            }
            }})
            }
             }else{
                     if($('#resLive div').length == 0){
           $('#resLive').html('<div class="infoLoading">Waiting You Type...</div>');
           }
             }
            }})
    }
    });
    $(this).keyup(function(){
    let query = $(this).val(),
    get = '';
    if(query != ''){
     $('#resLive').addClass('active');
    for(let e=0;e<arr.length;e++){
    	if(arr[e].title.toUpperCase().search(query.toUpperCase()) > -1){
        get += '<div class="Item"><a href="'+arr[e].url+'">'
        	+ '<img loading="lazy" alt="'+arr[e].title+'" src="'+arr[e].img+'">'
        	+ '<span>'+arr[e].title+'</span>'
            +'</a></div>';
        }
    }
    if(get.length != 0){
    $('#resLive').html(get);
    }else{
    $('#resLive').html('<div class="infoLoading">No Result...</div>');
    }
    }else{
           $('#resLive').removeClass('active');
           $('#resLive').html('');
    }
    });
    });


    Note :

    - Gunakan Jquery Library.
    - Ubah uri di script dengan url kalian atau bisa gunakan ini.

    const uri = location.protocol + '//' + location.hostname,
    Last edited : August 11, 2022
    Sat May 07, 02:28:00 PM GMT+9
    Script ini kubuat ringan mengambil 1x data jadi ga perlu berulang kali ngambilnya,support 150++ article (no tiban2) dan support multi keyword contoh "nonton movie".

    Karena didemo ada di theme zeist maka ini source untuk zeist :

    style.css :

    #resLive.active{opacity:1;height:200px;z-index: 999999;}
    #resLive{opacity:0;height:0;background:rgb(21 32 43);color:white;border-radius:4px;height:0;overflow-y:scroll;position:relative;transition:opacity .3s ease-out;position:absolute;top:46px;width:100%;}
    #resLive .infoLoading{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:800;font-size:13px;}
    #resLive div a {display: flex;align-items: center;gap: 4px;font-size: 13px;}
    #resLive div img {width: 28px;height: 28px;object-fit: cover;border-radius: 50%;}
    #resLive div.Item {margin: 12px 0;padding:4px;cursor:pointer;}
    #resLive div.Item:hover a span{color:var(--primary-color);}
    #resLive div.Item:hover{background:rgb(13 23 33);}
    #resLive div.Item:nth-child(1){margin:0;}
    #resLive div.Item:nth-last-child(1):not(#demo div.Item:nth-child(1)) {margin: 12px 0 0;}
    #resLive div a span {display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;overflow: hidden;color: white;}
    Sat May 07, 02:28:00 PM GMT+9
    script.js :
    $('.liveSearch').each(function(){
    const uri = location.protocol + '//' + location.hostname,
    arr = [],
    get = '';
    let res = 0;
    $(this).on('click input',function(){
    if(res == 0){
    $.ajax({
    type:"GET",
    url: uri + '/feeds/posts/default',
    data:{alt:"json","max-results":0},
    dataType:"jsonp",
    success:function(e){
    let l=e.feed.openSearch$totalResults.$t,
    c = l%150==0?l/150-1:Math.floor(l/150);
    if(l>res){
    $('#resLive').addClass('active');
    $('#resLive').html('<div class="infoLoading">Getting Data (<span>0.0%</span>)</div>');
    for(let o=0;o<=c;o++){
    $.ajax({
    type:"GET",
    url:uri + '/feeds/posts/default',
    data:{alt:"json","start-index":150*o+1,"max-results":150},
    dataType:"jsonp",
    success:function(e){
    for(let i=0;i<e.feed.entry.length+1;i++){
    if(l>res){
    const obj = {},feed = e.feed.entry[i];
    obj['title'] = feed.title.$t;
    const content = feed.content != null ? feed.content.$t : feed.summary.$t,
    d=content.indexOf("<img"),
    o=content.indexOf('src="',d) > -1 ? content.indexOf('src="',d) : content.indexOf("src='",d),
    f=content.indexOf('"',o+5) > -1 ? content.indexOf('"',o+5) : content.indexOf("'",o+5),
    g=content.substr(e+5,f-e-5),
    imgs=-1!=d&&-1!=o&&-1!=f&&""!=g?g:"https://images.bizlaw.id/gbr_artikel/images-2_294.webp";
    obj['img'] = feed.media$thumbnail != null ? feed.media$thumbnail.url.replace(/s72-c/,'s500') : imgs;
    for(let x=0;x<feed.link.length;x++){
    obj['url'] = feed.link[x].href;
    }
    arr.push(obj);
    res++;
    $('#resLive .infoLoading span').html(((res/l)*100).toFixed(1) + '%');
    }else{
    $('#resLive').html('<div class="infoLoading">Waiting You Type...</div>');}
    }
    }})
    }
    }else{
    if($('#resLive div').length == 0){
    $('#resLive').html('<div class="infoLoading">Waiting You Type...</div>');
    }
    }
    }})
    }
    });
    $(this).keyup(function(){
    let query = $(this).val(),
    get = '';
    if(query != ''){
    $('#resLive').addClass('active');
    for(let e=0;e<arr.length;e++){
    if(arr[e].title.toUpperCase().search(query.toUpperCase()) > -1){
    get += '<div class="Item"><a href="'+arr[e].url+'">'
    + '<img loading="lazy" alt="'+arr[e].title+'" src="'+arr[e].img+'">'
    + '<span>'+arr[e].title+'</span>'
    +'</a></div>';
    }
    }
    if(get.length != 0){
    $('#resLive').html(get);
    }else{
    $('#resLive').html('<div class="infoLoading">No Result...</div>');
    }
    }else{
    $('#resLive').removeClass('active');
    $('#resLive').html('');
    }
    });
    });
    Sat May 07, 09:18:00 PM GMT+9
    Min, bisakah untuk gambar thumbnail pencarian dan judulnya agak diperbesar dikit seperti contoh yang dulu, dan bisakah juga ada sedikit sinopsis teksnya juga?
    Sat May 07, 09:33:00 PM GMT+9
    tinggal kamu ubah dibagian css nya

    #resLive div img {width: 64px;height: 64px;object-fit: cover;border-radius: 50%;}

    kalo kamu liatnya di demo itu memang kecil karena ngikutin si formnya. kalo di theme mu bakal besar nnti asal kamu kasih position relative pada formnya

    untuk penambahan sinopsi teks bisa ku kerjain besok tpi kalo kamu mau coba sendiri tinggal gini

    tambahkan ini di script.js pada bagian feed body :
    obj['content'] = content;

    lalu pada event key up kamu tinggal extrack datanya pada bagian loop get
    arr[e].content
    Sun May 08, 07:28:00 AM GMT+9
    This comment has been removed by the author.
    Mon May 09, 07:50:00 AM GMT+9
    Versi Ada Synopsi tapi ga ada waktu bikin ui.

    style :
    #resLive.active{opacity:1;height:200px;}
    #resLive{opacity:0;height:0;background:rgb(21 32 43);color:white;border-radius:4px;height:0;overflow-y:scroll;position:relative;transition:opacity .3s ease-out;position:absolute;top:46px;width:100%;}
    #resLive .infoLoading{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:800;font-size:21px;}
    #resLive div a {display: flex;align-items: center;gap: 12px;font-size: 18px;}
    #resLive div img {width: 64px;height: 64px;object-fit: cover;border-radius: 50%;}
    #resLive div.metaData{flex:8;}
    #resLive div.metaData p{margin:10px 0 0;font-size:14px;}
    #resLive div.Item {margin: 12px 0;padding:12px;}
    #resLive div.Item:hover{background:rgb(13 23 33);}
    #resLive div.Item:nth-child(1){margin:0;}
    #resLive div.Item:nth-last-child(1):not(#demo div.Item:nth-child(1)) {margin: 12px 0 0;}
    Mon May 09, 07:51:00 AM GMT+9
    script.js :
    $('.liveSearch').each(function(){
    const uri = 'https://streaming-anime-indo.blogspot.com',
    summaryLength = '120',
    arr = [];
    let res = 0;
    $(this).on('click input',function(){
    if(res == 0){
    $.ajax({
    type:"GET",
    url: uri + '/feeds/posts/default',
    data:{alt:"json","max-results":0},
    dataType:"jsonp",
    success:function(e){
    let l=e.feed.openSearch$totalResults.$t,
    c = l%150==0?l/150-1:Math.floor(l/150);
    if(l>res){
    $('#resLive').addClass('active');
    $('#resLive').html('<div class="infoLoading">Getting Data (<span>0.0%</span>)</div>');
    for(let o=0;o<=c;o++){
    $.ajax({
    type:"GET",
    url:uri + '/feeds/posts/default',
    data:{alt:"json","start-index":150*o+1,"max-results":150},
    dataType:"jsonp",
    success:function(e){
    for(let i=0;i<e.feed.entry.length+1;i++){
    if(l>res){
    const obj = {},feed = e.feed.entry[i];
    obj['title'] = feed.title.$t;
    const content = feed.content != null ? feed.content.$t : feed.summary.$t,
    d=content.indexOf("<img"),
    o=content.indexOf('src="',d) > -1 ? content.indexOf('src="',d) : content.indexOf("src='",d),
    f=content.indexOf('"',o+5) > -1 ? content.indexOf('"',o+5) : content.indexOf("'",o+5),
    g=content.substr(e+5,f-e-5),
    imgs=-1!=d&&-1!=o&&-1!=f&&""!=g?g:"https://images.bizlaw.id/gbr_artikel/images-2_294.webp";
    obj['img'] = feed.media$thumbnail != null ? feed.media$thumbnail.url.replace(/s72-c/,'s500') : imgs;
    obj['synopsy'] = content.replace(/(<([^>]+)>)/ig,'');
    for(let x=0;x<feed.link.length;x++){
    obj['url'] = feed.link[x].href;
    }
    arr.push(obj);
    res++;
    $('#resLive .infoLoading span').html(((res/l)*100).toFixed(1) + '%');
    }else{
    $('#resLive').html('<div class="infoLoading">Waiting You Type...</div>');}
    }
    }})
    }
    }else{
    if($('#resLive div').length == 0){
    $('#resLive').html('<div class="infoLoading">Waiting You Type...</div>');
    }
    }
    }})
    }
    });
    $(this).keyup(function(){
    let query = $(this).val(),
    get = '';
    if(query != ''){
    $('#resLive').addClass('active');
    for(let e=0;e<arr.length;e++){
    if(arr[e].title.toUpperCase().search(query.toUpperCase()) > -1){
    get += '<div class="Item"><a href="'+arr[e].url+'">'
    + '<img loading="lazy" alt="'+arr[e].title+'" src="'+arr[e].img+'">'
    + '<div class="metaData"><span>'+arr[e].title+'</span>'
    + '<p>' + arr[e].synopsy.slice(0,summaryLength) + '...</span></div>'
    +'</a></div>';
    }
    }
    if(get.length != 0){
    $('#resLive').html(get);
    }else{
    $('#resLive').html('<div class="infoLoading">No Result...</div>');
    }
    }else{
    $('#resLive').removeClass('active');
    $('#resLive').html('');
    }
    });
    });


    kamu tinggal setting SummaryLength untuk menampilkan berapa panjang synopsinya
    Mon May 09, 12:39:00 PM GMT+9
    Nice, nanti ku coba.

    Btw, sudah selesai berapa % temamu?
    Tue May 10, 01:32:00 PM GMT+9
    70 an kayaknya tpi masih bakal lama banyak configuration yg harus ku cek.

    misalnya kyak logic license theme product yang ku integration ke situs utama nantinya,
    karena risk an kalo product theme blogger. kalo ga dikasih license (meskipun gratis ya themenya) takutnya ada oknum yg ngejualnya ke orang awam ataupun kalo product paid takutnya di jual ulang. ya begitulah intinya :D
    Tue May 10, 05:27:00 PM GMT+9
    min kalo misalnya sinopsisnya diganti label tertentu kayak type dan genre gimana?
    Tue May 10, 10:50:00 PM GMT+9
    replace obj content jadi ini :
    var categArray = [];
    for(let xa=0;xa<feed.category.length;xa++){
    categArray.push(json.feed.category[xa].term);
    var genre = categArray.filter(item => {
    return item = 'Adventure' || item = 'Action';
    });
    var type = categArray.filter(item => {
    return item = 'TV' || item = 'OVA';
    });
    }

    obj['type'] = type;
    obj['genre'] = genre;


    lalu pada event keyUp kamu cari tag p di loop get
    ubah arr[e].synopsy jadi
    arr[e].type / arr[e].genre

    btw itu spannya ubah p aja www ga liat aku masa gini
    <p> ........ </span>
    Wed May 11, 01:43:00 PM GMT+9
    revisi filter yang bener :
    return item == 'TV' || item == 'OVA';

    jadi "=" itu ada 2 kalo cuma 1 bakal ga filter
    Wed May 11, 03:16:00 PM GMT+9
    yg direplace itu darimana sampe mana?
    Wed May 11, 04:50:00 PM GMT+9
    Dani_Edtz_ said: yg direplace itu darimana sampe mana?
    ini yang kamu replace :
    obj['synopsy'] = content.replace(/(<([^>]+)>)/ig,'');
    Wed May 11, 06:02:00 PM GMT+9
    김서정 said: ini yang kamu replace :
    obj['synopsy'] = content.replace(/(<([^>]+)>)/ig,'');
    kok gak bisa min? https://kazuenime.blogspot.com/
    Wed May 11, 06:06:00 PM GMT+9
    Dani_Edtz_ said: kok gak bisa min? https://kazuenime.blogspot.com/
    cari yang code yang mirip ini di filter categories nya lalu replace yg baru ini
    categArray.push(feed.category[xa].term);

    habis itu di resultnya ini
    arr[e].type.slice(0,summaryLength)

    kamu jadiin seperti ini :
    arr[e].type
    Wed May 11, 06:27:00 PM GMT+9
    Kubao said: cari yang code yang mirip ini di filter categories nya lalu replace yg baru ini
    categArray.push(feed.category[xa].term);

    habis itu di resultnya ini
    arr[e].type.slice(0,summaryLength)

    kamu jadiin seperti ini :
    arr[e].type
    nice dah bisa min Thanks
    Wed May 11, 06:35:00 PM GMT+9
    btw min biar setiap genre otomatis dikasih koma gimana min? contoh (Action, Mecha, Police, Psychological, Sci-Fi, Seinen)
    Wed May 11, 07:27:00 PM GMT+9
    Dani_Edtz_ said: btw min biar setiap genre otomatis dikasih koma gimana min? contoh (Action, Mecha, Police, Psychological, Sci-Fi, Seinen)
    itu udah auto ada koma, tapi kalo ga muncul tambahkan ini "join method".

    contoh :

    arr[e].type.join(',')
    Wed May 11, 09:38:00 PM GMT+9
    last question min untuk merubah tulisan label caranya gimana? contoh labelnya Eps. 4 tapi ntar tulisannya Ep 4
    Wed May 11, 09:44:00 PM GMT+9
    Dani_Edtz_ said: last question min untuk merubah tulisan label caranya gimana? contoh labelnya Eps. 4 tapi ntar tulisannya Ep 4
    paling simple gunakan "replace method"
    contoh :
    const getEps = 'Eps. 4';
    document.getElementById('res').innerHTML = getEps.replace('Eps.','Ep');
    Thu May 12, 03:44:00 AM GMT+9
    김서정 said: paling simple gunakan "replace method"
    contoh :
    const getEps = 'Eps. 4';
    document.getElementById('res').innerHTML = getEps.replace('Eps.','Ep');
    aihhh mantap bg udah ada fitur quote replynya. 🤩
    Thu May 12, 11:54:00 AM GMT+9
    YZG said: aihhh mantap bg udah ada fitur quote replynya. 🤩
    msih ada fitur forum lain yg belum ku terapin mungkin next nunggu diriku buat theme forum lgi baru ku implementasikan
    Sat Jul 09, 09:47:00 AM GMT+9
    halo min mungkin ini bisa juga jadi referensi buat kembangin kode live search blogspot demo cek https://nf21-pro.blogspot.com
    Sat Jul 09, 01:23:00 PM GMT+9
    MTSN said: halo min mungkin ini bisa juga jadi referensi buat kembangin kode live search blogspot demo cek https://nf21-pro.blogspot.com
    mantap terus berkarya tpi, ini prespektifku. itu kan mengambil datanya terus setiap onkey up jadi ngambil data agak banyak. nah discript ku juga kurangnya disitu apabila dia cuma nyari 1 judul tpi yg ke generate banyak (semua content kecuali script jsonnya di minimalis dengan Label)

    dan kurang tepat seperti ketika input "i" ada The Down (2019) pdhal itu gada huruf i, lalu ketik "l" ada yg muncul Spider-Man: Far from Home (2019) padahal gada huruf "l"

    ini kamu bisa minimalisir dengan condition title indexOf dsb apabila title mengandung kalimat pada input

    nice lanjutkan lagi
    Fri Jul 15, 04:21:00 PM GMT+9
    MTSN said: halo min mungkin ini bisa juga jadi referensi buat kembangin kode live search blogspot demo cek https://nf21-pro.blogspot.com
    bang, boleh minta tutor live search yang ini nggak?
    Sun Jul 17, 01:05:00 PM GMT+9
    Bang itu tempat buat tempelnya di mana di edit html atau di tata letak
    Sun Jul 17, 02:44:00 PM GMT+9
    Bang codenya jadiin satu terus screnshot donk contohnya di gmail saya muzakkiramadhan98@gmail.com
    Sat Jul 23, 07:12:00 PM GMT+9
    Kubao said: mantap terus berkarya tpi, ini prespektifku. itu kan mengambil datanya terus setiap onkey up jadi ngambil data agak banyak. nah discript ku juga kurangnya disitu apabila dia cuma nyari 1 judul tpi yg ke generate banyak (semua content kecuali script jsonnya di minimalis dengan Label)

    dan kurang tepat seperti ketika input "i" ada The Down (2019) pdhal itu gada huruf i, lalu ketik "l" ada yg muncul Spider-Man: Far from Home (2019) padahal gada huruf "l"

    ini kamu bisa minimalisir dengan condition title indexOf dsb apabila title mengandung kalimat pada input

    nice lanjutkan lagi
    Bang kenapa di bagian = bermasalah)
    ');
    for(let o=0;o<=c;o++)
    Tue Aug 02, 10:33:00 PM GMT+9
    bang live searcnya kalau hanya mengindek label series aja bisa ga bang. Jadi si chapternya gak ikut ke index
    Tue Aug 02, 10:37:00 PM GMT+9
    teler said: bang live searcnya kalau hanya mengindek label series aja bisa ga bang. Jadi si chapternya gak ikut ke index
    pada bagian url nya tambahin aja label

    /feeds/posts/default/-/Series
    Sun Aug 07, 08:48:00 PM GMT+9
    bang kalau pengen seperti blog ini live search https://kazuenime.blogspot.com/ caranya di gimanainya aku sudah coba terapin tapi cuma bisa sampe segini https://scancomicst.blogspot.com/ mohon pencerahannya min
    Sun Aug 07, 11:39:00 PM GMT+9
    teler said: bang kalau pengen seperti blog ini live search https://kazuenime.blogspot.com/ caranya di gimanainya aku sudah coba terapin tapi cuma bisa sampe segini https://scancomicst.blogspot.com/ mohon pencerahannya min
    mau di apain dlu nih, disama in persis apa masalah filter label
    Mon Aug 08, 05:29:00 PM GMT+9
    Kubao said: mau di apain dlu nih, disama in persis apa masalah filter label
    kalau boleh sama persis sih hehe.. kalau tidak bisa boleh kasih tutor cara masukin seperti type, status, chapter dan genre seperti itu
    Mon Aug 08, 05:42:00 PM GMT+9
    teler said: kalau boleh sama persis sih hehe.. kalau tidak bisa boleh kasih tutor cara masukin seperti type, status, chapter dan genre seperti itu
    aku skrng sibuk di offline, untuk filter bisa kamu cek di replies di atas no #13

    coba kamu pelajari itu tinggal kamu copy paste aja itu lalu inputin filter yg kamu mau kayak "HDTV" || "WEBDL" || "HDCam" dkk
    Thu Aug 11, 01:46:00 AM GMT+9
    Bang di saya sudah bisa live search tapi pencarian mobilenya error hanya bisa pencarian komputer bagaimana bang cara mengatasinya https://komikakatsuky.blogspot.com/ sama live searchnya ketiban jadi ga keliatan
    Thu Aug 11, 06:24:00 AM GMT+9
    Baca komik said: Bang di saya sudah bisa live search tapi pencarian mobilenya error hanya bisa pencarian komputer bagaimana bang cara mengatasinya https://komikakatsuky.blogspot.com/ sama live searchnya ketiban jadi ga keliatan
    This comment has been removed by the author.
    Thu Aug 11, 06:37:00 AM GMT+9
    Baca komik said: Bang di saya sudah bisa live search tapi pencarian mobilenya error hanya bisa pencarian komputer bagaimana bang cara mengatasinya https://komikakatsuky.blogspot.com/ sama live searchnya ketiban jadi ga keliatan
    itu ga error, tapi gara2 tampilan cssnya dari si formnya. coba kamu ubah position relativenya pada selector "#resLive" nanti akan kelihatan hasilnya tapi hancur. itu disebabkan style si form karena result livesearch tersebut ngikutin posisi si form
    Thu Aug 11, 08:36:00 AM GMT+9
    Sudah bisa tapi bagian live search nya masih ketutup sama slidernya dan pas saya ketik huruf c nah terus saya silang pencarianya lalu saya klik lagi di hp tidak muncul keyboard bagaimana bang jadi live search untuk mencarinya tuh ga ada bang dan postionnya udah saya rubah ke relatif
    Thu Aug 11, 08:39:00 AM GMT+9
    Baca komik said: Sudah bisa tapi bagian live search nya masih ketutup sama slidernya dan pas saya ketik huruf c nah terus saya silang pencarianya lalu saya klik lagi di hp tidak muncul keyboard bagaimana bang jadi live search untuk mencarinya tuh ga ada bang dan postionnya udah saya rubah ke relatif
    Jadi maksud saya live search nya tuh langsung keatas posisinya tidak pas untuk pencarian blog ini
    Thu Aug 11, 09:15:00 PM GMT+9
    Baca komik said: Jadi maksud saya live search nya tuh langsung keatas posisinya tidak pas untuk pencarian blog ini
    aku ngerti apa yang kamu maksud dari awal kan udh ku kasih tau itu yg bikin sepertii itu karena style si formnya

    coba kamu hilangin css ini ".mystyle"
    nanti bakal muncul tpi form search mu bakal ancur/ga menarik di mobile
    Thu Aug 11, 09:20:00 PM GMT+9
    Kubao said: aku ngerti apa yang kamu maksud dari awal kan udh ku kasih tau itu yg bikin sepertii itu karena style si formnya

    coba kamu hilangin css ini ".mystyle"
    nanti bakal muncul tpi form search mu bakal ancur/ga menarik di mobile
    lalu bikin ini "#resLive" jadi absolute positition nya
    lalu pada bagian ".sm\:dn, #Query-input" di screen 900px jadiin display block hasilnya nnti bakal begini

    https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBCPHWdNEHP6UABRtZuJaMB4NQwxS8qBoZNh4XKkx2jYnZfzuqqiVrI6xtabO0BbdFtHESO_IqTnwwLFeboN-2TNVDfLZkNKb6hoUTjCqIbufKMEJ798QX9cBFYHMulFKI4uY6ePjWcD10L7cBAivmqg7lMEBzmhXzsobjbQpSBXHYYOVaihwXIbnq/s1366/bcd.png
    Wed Dec 07, 05:19:00 PM GMT+9
    김서정 said: script.js :
    $('.liveSearch').each(function(){
    const uri = location.protocol + '//' + location.hostname,
    arr = [],
    get = '';
    let res = 0;
    $(this).on('click input',function(){
    if(res == 0){
    $.ajax({
    type:"GET",
    url: uri + '/feeds/posts/default',
    data:{alt:"json","max-results":0},
    dataType:"jsonp",
    success:function(e){
    let l=e.feed.openSearch$totalResults.$t,
    c = l%150==0?l/150-1:Math.floor(l/150);
    if(l>res){
    $('#resLive').addClass('active');
    $('#resLive').html('<div class="infoLoading">Getting Data (<span>0.0%</span>)</div>');
    for(let o=0;o<=c;o++){
    $.ajax({
    type:"GET",
    url:uri + '/feeds/posts/default',
    data:{alt:"json","start-index":150*o+1,"max-results":150},
    dataType:"jsonp",
    success:function(e){
    for(let i=0;i<e.feed.entry.length+1;i++){
    if(l>res){
    const obj = {},feed = e.feed.entry[i];
    obj['title'] = feed.title.$t;
    const content = feed.content != null ? feed.content.$t : feed.summary.$t,
    d=content.indexOf("<img"),
    o=content.indexOf('src="',d) > -1 ? content.indexOf('src="',d) : content.indexOf("src='",d),
    f=content.indexOf('"',o+5) > -1 ? content.indexOf('"',o+5) : content.indexOf("'",o+5),
    g=content.substr(e+5,f-e-5),
    imgs=-1!=d&&-1!=o&&-1!=f&&""!=g?g:"https://images.bizlaw.id/gbr_artikel/images-2_294.webp";
    obj['img'] = feed.media$thumbnail != null ? feed.media$thumbnail.url.replace(/s72-c/,'s500') : imgs;
    for(let x=0;x<feed.link.length;x++){
    obj['url'] = feed.link[x].href;
    }
    arr.push(obj);
    res++;
    $('#resLive .infoLoading span').html(((res/l)*100).toFixed(1) + '%');
    }else{
    $('#resLive').html('<div class="infoLoading">Waiting You Type...</div>');}
    }
    }})
    }
    }else{
    if($('#resLive div').length == 0){
    $('#resLive').html('<div class="infoLoading">Waiting You Type...</div>');
    }
    }
    }})
    }
    });
    $(this).keyup(function(){
    let query = $(this).val(),
    get = '';
    if(query != ''){
    $('#resLive').addClass('active');
    for(let e=0;e<arr.length;e++){
    if(arr[e].title.toUpperCase().search(query.toUpperCase()) > -1){
    get += '<div class="Item"><a href="'+arr[e].url+'">'
    + '<img loading="lazy" alt="'+arr[e].title+'" src="'+arr[e].img+'">'
    + '<span>'+arr[e].title+'</span>'
    +'</a></div>';
    }
    }
    if(get.length != 0){
    $('#resLive').html(get);
    }else{
    $('#resLive').html('<div class="infoLoading">No Result...</div>');
    }
    }else{
    $('#resLive').removeClass('active');
    $('#resLive').html('');
    }
    });
    });
    Untuk gw yg pemula sama sekali gak paham harus diletakan dimana... mau nanya tapi pasti slow respon
    Wed Dec 07, 07:59:00 PM GMT+9
    Liam said: Untuk gw yg pemula sama sekali gak paham harus diletakan dimana... mau nanya tapi pasti slow respon
    letakkan di bawah tag body, kalo ada report bug dll skrng di discord bisa join dengan link yang ada di footer
    Wed Dec 07, 08:00:00 PM GMT+9
    Kubao said: letakkan di bawah tag body, kalo ada report bug dll skrng di discord bisa join dengan link yang ada di footer
    lebih tepatnya di atas </body>

Similar Threads