jQuery UI switchClass () usuli to'g'ri ishlamayapti

jQuery UI switchClass() method doesn't switch class, rather it performs some undesired animations and the class remains the same as the original one when I use jquery.animate-enhanced.js for hardware accelerated animations.
Any Idea about how can I fix it?

7
Muammoni takrorlaydigan jsfiddle yozing.
qo'shib qo'ydi muallif Connor, manba
va nima uchun u to'g'ri ishlamaydi? Siz "noto'g'ri ishlamayapti" xulq-atvorini tushuntirib bera olasizmi?
qo'shib qo'ydi muallif Poelinca Dorin, manba
brauzerda brauzer tuzatuvchisining (F12) tarmoqlar yorlig'iga o'ting va CSS va JS fayllarini yuklashga muvaffaq bo'lishiga ishonch hosil qiling. agar bo'lmasa, href boshida http qo'shing
qo'shib qo'ydi muallif Hesham Yassin, manba
u sinfni almashtirmaydi. Ba'zi kiruvchi animatsiyalardan so'ng, sinf bir xil bo'ladi.
qo'shib qo'ydi muallif Devashish Dixit, manba

7 javoblar

Men bu muammoni oldindan kutib oldim va noto'g'ri ketayotganini tushunishga harakat qilaman.

Men hali ham switchClass nima uchun ishlamayotganini bilmayman, lekin vaqtinchalik echim bor:

O'zgartiring

switchClass('circle','square');

bilan

addClass('square').removeClass('circle');

Bu yordamga umid qilaman.

23
qo'shib qo'ydi
SwitchClass usuli bilan bog'liq muammolar mavjud. Men uchun bir soniya kuchga kirishi kerak. Yaxshiyamki sizning hal qilishingiz mumkin :)
qo'shib qo'ydi muallif Satbir Kira, manba

agar prb bo'lsa

.switchClass funktsiya emas.

kodingizda impacts.core.js ga bog'langanligini tekshiring

js uchun navigatoringizdagi Konsoldan foydalanishni tekshiring, omad uchun u men uchun yaxshi ishlaydi :)

2
qo'shib qo'ydi
qo'shib qo'ydi muallif Abdelouahab, manba
Ha, men allaqachon bilaman, lekin qarash: http://api.jqueryui.com/category/effektlar-yadrosi "Effect.js tomonidan taqdim etilgan funksionallik Quyida keltirilgan usullardan tashqari effect.js da bir nechta cheklovni o'z ichiga oladi."
qo'shib qo'ydi muallif Yassine Sedrani, manba
$(function(){
   $('#circle').click(function(){
      $('.circle').switchClass('circle', 'square', 'slow');
      $('.square').switchClass('square', 'circle', 'slow');
      return: false
   });  
});

Ushbu misolda #circle Div ni bosish orqali .circle sinfini barcha moslamalarni olib tashlash va uni .square sinf bilan almashtirish. Agar .circle klassi o'chirilmasa, u holda .square sinf o'chiriladi va .circle sinf bilan almashtiriladi. Bu o'zgarish effekti.

Agar o'tishni xohlamasangiz, yuqoridan yoki pastki qismini olib tashlang.

2
qo'shib qo'ydi

Iltimos, jQueryUi fayli qo'shilganligini tekshiring

<script type="text/javascript" src="https://code.jquery.com/ui/1.8.23/jquery-ui.min.js"></script>
1
qo'shib qo'ydi

Men bu muammoni oldida oldim, lekin bu echimni topa olmadim. So'ng muammoni hal qilish uchun toggleClass() ni ishlatardim. Mana misol:

Agar elementning boshida sinf X bo'lsa, unda quyidagini yozing:

$(element).toggleClass("Y");

Bu Y sinfini qo'shadi. Agar yana shunday qilsangiz, u sinfni olib tashlaydi.

Reference: http://api.jquery.com/toggleclass/

Bu yordamga umid qilaman.

0
qo'shib qo'ydi

Men ikki sinf orasidagi almashtirishni xohlayman. Agar shunday bo'lsa toggleClass funksiyasi bilan buni amalga oshirishingiz mumkin.

 //first you start with one of the classes in html:
    <div class="foo"></div>
    //then in JS you do:
    var element = ...;
    $(element).toggleClass('foo bar');

Bu ikkala 'foo' va 'bar' ni o'zgartiradi. Foo allaqachon mavjud bo'lganligi bois, uni olib tashlash va novda qo'shiladi. Keyingi qo'ng'iroqlar panelida mavjud bo'ladi va men uni o'chirib tashlayman va foo-ni qo'shib qo'yaman. Va hokazo.

If something is not clear here is a jsfiddle example: https://jsfiddle.net/09qs86kr/1/

0
qo'shib qo'ydi

Siz foydalanadigan sinflarning "! Muhim" xususiyatlariga ega emasligiga ishonch hosil qiling. Men investitsiya qildim va jQuery UI switch sinfining "! Muhim" teglar bilan ishlashi mumkin emasligini aniqladi.

Reason : Consider that your previous class had style "padding : 0" and your new class has "padding:100". You have added switchClass duration for 100 ms. What jQuery will do for this is, it will add a style to your element by increasing padding by "1" in every 1 ms. But, as the previous class is still there in the element with a "padding : 0 !important", after 10 ms, "padding : 10" style added by jQuery doesn't effect the UI. After 100 ms, jQuery will execute removeClass("previousClass") and addClass("newClass"). this will result to a instant change in style reflected in the UI.

Bu men tushunadigan narsadir. Iltimos, bu haqda nima deb o'ylaysiz, iltimos, menga xabar bering.

0
qo'shib qo'ydi
Javascript UZB
Javascript UZB
99 ishtirokchilar

@js_uzb @vuejs_uz @react_uz @nodejs_uz @angular_uz @ngTashkent @yiiframework_uz @laravel_uz @linux_uzbek @python_uz @swift_uzb —————— @uzdevgroup @UzGeeksGroup ——— @UzDev_Jobs @jobs_uzb