AMcoder - javascript, python, java, html, php, sql

Խնդիր ունենալով JQuery զանգվածում արժեքներ ավելացնելու և ջնջելու հետ կապված սեղմված div-ների վրա

Ահա իմ JQuery-ն.

var skinCare=[];

$('.skinCare').click(function(){
    if($.inArray(event.target.id, skinCare) == -1){
        var value = event.target.id;
        skinCare.push(value);
    }
    var index = skinCare.indexOf(value);
    if($(this).css('background-color') == 'rgb(255, 255, 255)'){
        skinCare.splice(skinCare.indexOf(index), 1);
    }
});
$('html').click(function(){
    alert(skinCare);
});

Սա այն HTML-ն է, որը ես ցուցադրում եմ օգտատերերին սեղմելու համար.

<a href="#item4" class="panel"><div class="nextButton"></div></a>
                <a href="#item3" class="panel multi"><div class="circle skinCare multi" id="acne" style="top:10px;left:265px"><div class="inner_circle" id="acne">ACNE/</br>BLEMISHES</div></div></a>
                <a href="#item3" class="panel multi"><div class="circle skinCare multi" id="dry_skin" style="top:255px;left:10px"><div class="inner_circle" id="dry_skin">DRY SKIN</div></div></a>
                <a href="#item3" class="panel multi"><div class="circle skinCare multi" id="oily_skin" style="top:90px;left:100px"><div class="inner_circle" id="oily_skin">OILY SKIN/LARGE PORES</div></div></a>
                <a href="#item3" class="panel multi"><div class="circle skinCare multi" id="aging" style="top:90px;left:430px"><div class="inner_circle" id="aging">WRINKLES/</br>AGING</div></div></a>
                <a href="#item3" class="panel multi"><div class="circle skinCare multi" id="irritation" style="top:255px;left:510px"><div class="inner_circle" id="irritation">SENSATIVE SKIN/IRRITATION</div></div></a>
                <a href="#item3" class="panel multi"><div class="circle skinCare multi" id="dark_spots" style="top:430px;left:100px"><div class="inner_circle" id="dark_spots">DARK SPOTS</div></div></a>

Հենց հիմա ես JQuery-ն կարգավորել եմ այնպես, որ եթե սեղմվող div-ի ֆոնի գույնը որոշակի գույն է (սահմանված է css դասի կողմից, երբ կտտացնում ենք), այն կա՛մ ավելացնում է, կա՛մ ջնջում արժեք զանգվածում՝ skinCare: Ես լիովին բաց եմ ցանկացած տարբերակի համար, որն աշխատում է, սակայն, և կարիք չկա դա անել ըստ գույնի: Ես պարզապես ուզում եմ, որ արժեքը ավելացվի JQuery զանգվածին, եթե կտտացվի div-ը, ապա եթե նորից սեղմվի, ջնջվի զանգվածից:

18.03.2013

  • Դուք արդեն տվել եք 5 հարց՝ առանց շնորհակալություն հայտնելու, ընդունելու կամ նույնիսկ 1 կառուցողական մեկնաբանություն թողնելու այն մարդկանց, ովքեր իրենց ժամանակը տրամադրեցին ձեզ օգնելու համար: Խնդրում ենք համոզվեք, որ վերանայեք ձեր հին հարցերը, թողեք կարծիք և ընդունեք բոլոր պատասխանները, որոնք առավել օգտակար են եղել ձեր խնդիրների լուծման համար: 18.03.2013
  • Ցավում եմ! Ես վերադարձա և վերանայեցի իմ հին հարցերը: Ես չէի գիտակցում, որ կարող էի ընդունել, քանի որ փորձել էի կողմ քվեարկել որոշ պատասխանների վրա, բայց ասվում էր, որ ես բավարար հեղինակություն չունեմ: 18.03.2013

Պատասխանները:


1

Սխալ է օգտագործել նույն id-ը բազմաթիվ HTML տարրերի համար: Հավանաբար սա է ձեր խնդրի պատճառը:

Նաև, խնդրում եմ վերանայել Ես շնորհակալ եմ, որ վերանայեցիք @roXon-ի մեկնաբանությունը:

18.03.2013
  • Ես ազատվեցի կրկնօրինակ id-ներից, բայց ինչ-ինչ պատճառներով, երբ ես ապաընտրում եմ div-ը (սեղմում եմ այն ​​երկրորդ անգամ), այն խլում է միայն ավելացված վերջին արժեքը: 18.03.2013
  • Լավ փաստարկ. Կա՞ ինչ-որ բան, որը փոխում է div-ի ֆոնի գույնը: Վերը նշված jQuery կոդը կարծես դա չի անում: Կամ գուցե բանն այն է, որ var index = skinCare.indexOf(value); տողում value-ը կարծես սկզբնավորված չէ, քանի դեռ event.target.idskinCare-ում չէ: Ես իրականում լավ չգիտեմ jQuery-ն, ուստի կարող եմ ինչ-որ բան սխալ հասկանալ: 18.03.2013
  • Այո, կա .click ֆունկցիա, որը փոխում է գույնը: even.target.id-ը վերաբերում է div-ի id-ին, որի վրա ես սեղմել եմ, որն այն արժեքն է, որը փոխանցվում է skinCare զանգվածին: Այսպիսով, ինդեքսը պարզապես մաշկի խնամքի դիրքն է: 18.03.2013
  • Ես հիշում եմ, որ կա, կամ գոնե նախկինում եղել է, իսկապես տարօրինակ բան այն մասին, թե որտեղ է var-ն ուժի մեջ մտնում, երբ նրա շուրջը գտնվող մոտակա բլոկը ֆունկցիայի սահմանում չէ: Այնուամենայնիվ, ես ճիշտ եմ, որ value-ը չի թարմացվում, երբ երկրորդ անգամ սեղմում եք div-ը, քանի որ value-ը թարմացվում է միայն if բլոկում: if($.inArray(event.target.id, skinCare) == -1){ var value = event.target.id; ... 18.03.2013
  • Այո, ես հավատում եմ, որ դու ճիշտ ես: Արժեքի փոփոխականը թարմացվում է միայն if դրույթով: Ես կփորձեմ խաղալ արժեքով, որպեսզի այն ճիշտ տեղում հայտնվի: 18.03.2013
  • Ես փոխել եմ .skinCare սեղմման գործառույթը հետևյալով՝ $('.skinCare').click(function(){ var value = event.target.id; var index = skinCare.indexOf(արժեք); if($.inArray (արժեք, skinCare) == -1){ skinCare.push(value } else{ skinCare.splice(skinCare.indexOf(index), 1); Այնուամենայնիվ, ես ստանում եմ նույն արդյունքները, որտեղ այն ջնջում է միայն վերջին ավելացված արժեքը: 20.03.2013
  • Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..