How To Make an Infinite AutoPlay Image Slider Using JavaScript

Поділитися
Вставка
  • Опубліковано 4 жов 2024
  • #infiniteAutoPlaySlider #Slider #Carousel
    While learning about JavaScript DOM, I always wanted to make a slider that has some functionality like the auto infinite slide show which can be controlled with some next and previous buttons.
    But I never found any tutorials like that so, I decided to make my own and after doing some google search, reading some blog posts and watching some related videos I come up with this video.
    This carousel has all the functionality which I talked about earlier. It can slide automatically and after the last slide again it starts from the beginning.
    This slider stops while I move the mouse cursor inside this slider, and after that, I can click on those buttons to move this slider. Also, if I move the mouse cursor outside to this slider, it starts working again.
    But guys before moving ahead let me clear you one thing that if you are here to see some quick-fix solution or some shortcut video then please you can leave this video right now because I am not going to show you guys any quick-fix instead I am going to teach you guys the main logic of this kind of slider how it works and how we can convert our thoughts into reality, so if you like this idea then hit that subscribe button if you haven’t already and let’s start the video.
    Support this channel: / ndpniraj
    Project Files
    ==========
    drive.google.c...
    Social Media
    / ndpniraj
    / ndpniraj
    Other JavaScript Projects.
    =====================
    Popup Model Using JavaScript:-
    • How to create a Popup ...
    Responsive NavBar with Search Box:-
    • Create a Responsive Na...
    Modern Login Form:-
    • How to Create a Login ...
    Music Credit:-
    • We Are Here - Declan D...

КОМЕНТАРІ • 169

  • @sanchox6429
    @sanchox6429 3 роки тому +1

    "Why can't you just give us the answer?!" LOL. I loved how you explained the logic at the beginning, this makes so much sense. Thanks for the vid.

    • @fsniraj
      @fsniraj  3 роки тому

      I think examples are great way to explain things, so...

  • @tonyvito5062
    @tonyvito5062 2 роки тому

    looked a lot of tutorials on youtube about dynamic sliders this is the only tutorial that helped me , THANKS A LOT!

    • @fsniraj
      @fsniraj  2 роки тому +1

      You are most welcome.

  • @fatinfuyad2816
    @fatinfuyad2816 21 день тому

    I was looking for how to make infinite looping but I found no such learning tutorial.
    But thank you ❤❤

  • @onurkaraguler7985
    @onurkaraguler7985 2 роки тому

    I've been looking for a tutorial on the infinitive slider for days. I watched youtube videos, read blogs, but I couldn't find anything like this tutorial. Thanks youtube recommended the video to me. Liked and subscribed.

  • @ufukcovers
    @ufukcovers 3 роки тому +1

    Thank you so much, this was the most useful one among the other tutorials which I could not learn because of the complicated expressions.

    • @fsniraj
      @fsniraj  3 роки тому +1

      You're very welcome!

  • @marlonlopez1096
    @marlonlopez1096 4 роки тому +2

    Great video i've been looking for this type of video and finally i undestod.

  • @nicokojima4214
    @nicokojima4214 3 роки тому

    The real star among all those tutorials! Thanks!

  • @md.arifulislam2339
    @md.arifulislam2339 3 роки тому

    Ohh... After search a lot, got a great logic.. Finally understood how to slide Infinite loop.. Thanks a lot man... Great person with great thought

    • @fsniraj
      @fsniraj  3 роки тому

      I am so glad to hear that it helped you.

  • @comaboy_98
    @comaboy_98 4 роки тому +2

    Thank you so much man u dont know how this tutorial help me out.keep doing this❤️

    • @fsniraj
      @fsniraj  4 роки тому

      Glad to hear that and your welcome.

  • @runningfox4049
    @runningfox4049 2 роки тому

    this is by far the best tutorial I have found on this subject. thank you Niraj

  • @djangolean
    @djangolean 4 роки тому +3

    great man, explained like a pro...

  • @amiclonepc6403
    @amiclonepc6403 2 роки тому

    Thank You so much bro. You make things quite simpler and explain them very well. I was so in need for this tutorial so thank you so much again and i wish you hit 100K super soon.

    • @fsniraj
      @fsniraj  2 роки тому +2

      Thank you very much for your lovely wishes.

  • @hoanganhmai3774
    @hoanganhmai3774 Рік тому

    This guy is amazing. I learned alot. Thanks Bro. Indian are tech genius!

  • @ricardosilvadearaujo1067
    @ricardosilvadearaujo1067 2 роки тому +1

    Thank you, It is very good

    • @fsniraj
      @fsniraj  2 роки тому

      I'm glad you like it

  • @slancker3589
    @slancker3589 4 роки тому +2

    I'm russian ,but i undestood all info which you had told! Like had been pressed)))

    • @fsniraj
      @fsniraj  4 роки тому

      That's so sweet. Thanks for the appreciation.

  • @tucanh7781
    @tucanh7781 4 роки тому +4

    Thanks for your tutorial!

  • @mohammedirshad6497
    @mohammedirshad6497 3 роки тому

    Absolutely Brillant Explanation. Thank You!

    • @fsniraj
      @fsniraj  3 роки тому

      Glad you enjoyed it!

  • @tedsemon1326
    @tedsemon1326 2 роки тому

    Very nice - I learned a lot by watching it - thank you.

  • @bartekx-qs2vx
    @bartekx-qs2vx Рік тому

    21:00 the key to the solution, that i probably need, will try it tomorrow :D

  • @vfryhn2
    @vfryhn2 2 роки тому

    Thank you so much for this awesome tutorial

  • @ronniebrito8660
    @ronniebrito8660 3 роки тому

    Thank you, the one that solves my problem

  • @michaelmcgrath5787
    @michaelmcgrath5787 3 роки тому +3

    I faithfully entered all of the code without downloading the original script and it did not work and spent considerable time searching my code for errors and finally found that the single straight quotes used for these: slide.style.transform = `translateX(${-slideWidth * index}px)`; were different than normal single quote foot marks. They are small and point sideways. When I replaced these 4 lines with your code, the slider worked. What are these and why are they required? I am using Windows 10. I like the approach.

    • @fsniraj
      @fsniraj  3 роки тому +1

      This is called *Template String ``* which you can find above the tab key and below the esc (if you have keybord like mine). This is the special type of quote in JavaScript it allows us to write JavaScript code inside the quote for that we need to use *${...code}*. which is called string interpolation. ie: *console.log(`sum of 2 + 2 = ${2+2}`)*.
      ${2+2} will became executable JavaScript code. you can not do this with normal single or double quote.
      I hope this will clear your doubt.

    • @michaelmcgrath5787
      @michaelmcgrath5787 3 роки тому

      @@fsniraj Thanks very much for the insight! Found the character along with the tilde, too.

    • @Yhungforever
      @Yhungforever 3 роки тому

      God bless you

    • @emreylmaz4533
      @emreylmaz4533 2 роки тому

      you are a life saver bro. i wasted 7-8 hours just to find this comment

  • @umarfarooque8293
    @umarfarooque8293 11 місяців тому

    Awesome. Thank you bro....!

  • @warrenokane4371
    @warrenokane4371 2 роки тому

    Thank you so much this is a great guide!

  • @mdabujafar9551
    @mdabujafar9551 2 роки тому

    Your tutorial is very helpful. thank you so much.

    • @fsniraj
      @fsniraj  2 роки тому

      You're welcome and thanks for visiting.

  • @javieralvarez9571
    @javieralvarez9571 2 роки тому

    Great video and great practices. Would be very interesting adding touch events to the slider.

  • @shivampatel9836
    @shivampatel9836 4 роки тому +1

    Great tutorial 👍🏼 helped a lot

    • @fsniraj
      @fsniraj  4 роки тому

      Thanks for the appreciation

  • @abhishekroy5119
    @abhishekroy5119 4 роки тому

    Thanks a lot brother.. Thumbs-up given!

  • @haacki4720
    @haacki4720 2 роки тому

    Thanks, you helped me so much!

  • @nanobit9091
    @nanobit9091 Рік тому

    amazing work bud!!! , thanks million!!!

    • @fsniraj
      @fsniraj  Рік тому

      Glad you liked it!

  • @al_peterson
    @al_peterson 3 роки тому

    Many thanks! Really helpful stuff!

    • @fsniraj
      @fsniraj  3 роки тому +1

      Glad to read that it helps you and thank you for the appreciation.

  • @ТарасОлексюк-й2д
    @ТарасОлексюк-й2д 2 роки тому

    Thank you for great video.

  • @ahmedmelfay
    @ahmedmelfay 3 роки тому

    Thank you so much, you are a life saver

  • @someguy6076
    @someguy6076 2 роки тому

    Thank you for a great tutorial. I wish to modify mine so that it displays the previous and next slides in separate frames before and after the main (index) image. I will have to play with your code.

    • @fsniraj
      @fsniraj  2 роки тому +1

      Yes that's a great idea feel free to play around.

  • @921dgratias
    @921dgratias 3 роки тому

    Great video the best I found and I looked hard. Quick question, you can see the last slide being added at the end of the transition, what can we do to make it smooth so you don't see it as it's being appended?

    • @fsniraj
      @fsniraj  3 роки тому

      for that I guess we already removing the transition property.

  • @ArturoN
    @ArturoN 3 роки тому

    thanks a lot greetings from México!

    • @fsniraj
      @fsniraj  3 роки тому

      You are welcome bro.

  • @worldonwheels6849
    @worldonwheels6849 2 роки тому

    Awesome Content....

  • @이남권-c3u
    @이남권-c3u 4 роки тому

    I knew about the carousel pattern, but I was wondering how to make it dynamically because of the first and last Node copy, but there was a method called CloneNode. Thanks for your tutorial

  • @user-de8d
    @user-de8d Рік тому

    bruh, next button is working properly but previous button is not working fine.

  • @svenkugler7125
    @svenkugler7125 Рік тому

    wouldn't it also work if we just rearrange the orders in the flex box?

  • @AbhishekSharma-cq2hw
    @AbhishekSharma-cq2hw 2 роки тому

    Beautiful!

  • @patrickudeh5869
    @patrickudeh5869 2 роки тому

    Thank you so much..... After reloading the page, the slides didn't start automatically unless I hovers on it. Please , how do I resolve it?
    Thanks.

    • @fsniraj
      @fsniraj  2 роки тому

      Please compaire your code with the source code.

  • @illonggafrau5210
    @illonggafrau5210 4 роки тому

    this is really cool. Thank you ndp.

    • @fsniraj
      @fsniraj  4 роки тому

      Nice to hear that you like it. You are welcome.

    • @illonggafrau5210
      @illonggafrau5210 4 роки тому

      @@fsniraj I have a problem though, when I resize the window I have to reload the page in order for the slider images to take the full width. Do you have idea how to resolve this? Thank you so much.
      I think there's something to do with this code:
      slide.style.transform = `translateX(${-slideWidth * counter}px)`;

    • @fsniraj
      @fsniraj  4 роки тому

      @@illonggafrau5210 yes I realize that I will reply u if I found the solution.

    • @illonggafrau5210
      @illonggafrau5210 4 роки тому

      That would really be helpful. Thank you.

    • @illonggafrau5210
      @illonggafrau5210 4 роки тому

      @@fsniraj I found the solution to this. I use jquery resize method.

  • @dolifewithme
    @dolifewithme 2 роки тому

    Thank you!

  • @jeremybarbedienne6119
    @jeremybarbedienne6119 4 роки тому

    Amazing ! Thank you !!!! 🙏

    • @fsniraj
      @fsniraj  4 роки тому

      Thanks for the appreciation, Jeremy

  • @gustavofernandes5275
    @gustavofernandes5275 Рік тому

    Great Video

  • @sahadatsajib8708
    @sahadatsajib8708 4 роки тому +1

    very good Miraz, It's still working fine. But I find a small problem- when I minimize my browser for 30 second or more, then slide are none visible (consol log tell me your first clone ID can't find-- example--- (slides[index].id === firstClone.id). It important to say I add let slides --
    |
    |
    final example the function ---------
    slide.addEventListener('transitionend', ()=>{
    slides = document.querySelectorAll('.slide');
    if(slides[index].id === firstClone.id){
    //the problem is this firstClone.id findication problem.
    slide.style.transition = 'none';
    index = 1;
    slide.style.transform = `translateX(${-slideWidth * index}px)`;
    }
    })
    so I wait your answer, but I'm not very agger to know this problem, thanks🙂🙂

    • @fsniraj
      @fsniraj  4 роки тому

      If you want to find answer on your own match your code with mine otherwise share your code with me only then I can solve your problem. And btw my name is Niraj 😁😁.

  • @thangphan6047
    @thangphan6047 2 роки тому

    Thank you so much 😊

    • @fsniraj
      @fsniraj  2 роки тому

      You're welcome 😊

  • @Kavrizhka
    @Kavrizhka Рік тому

    Thank you a lot!!!!!!

  • @NERO-ez1mn
    @NERO-ez1mn 3 роки тому

    this is much better than the other tutorials more professional. keep it up. worth the SUBBED. but what if we are using more than 4 pics? you just stated -2 on timestamp 27:38

    • @fsniraj
      @fsniraj  3 роки тому

      it's simple it works for any amount of Images just remember to clone first and last elements as this video explains.

  • @NorlynCodes
    @NorlynCodes 4 роки тому

    Thank you so much!

  • @runeknight2842
    @runeknight2842 8 місяців тому

    did everything, my arrows dont show

  • @danutzz8
    @danutzz8 3 роки тому

    great content! cheers!

  • @amiinohmedyousuf9350
    @amiinohmedyousuf9350 2 роки тому

    thank you first bro but when i change the screen size of the computer the slider isn't working probably is it width problem or what ?

    • @fsniraj
      @fsniraj  2 роки тому

      It might be because of your images is not responsive. There is a very interesting way to make images responsive inside tailwind css but if you don't want to use tailwind css then you can follow the CSS way. Watch the first part of this video.
      ua-cam.com/video/NX_NW6bt6_s/v-deo.html

  • @yonatan_song
    @yonatan_song 4 роки тому

    you are very good man

  • @mohamedyoussef8835
    @mohamedyoussef8835 Рік тому

    Awesome video ++++++++++++++ 🙂

  • @BobbyBundlez
    @BobbyBundlez Рік тому

    this literally doesn't work... I did everything. maybe it works with 4 images. it only appends the fist and the last one how does that make sense for an infinite loop?

    • @BobbyBundlez
      @BobbyBundlez Рік тому

      makes 0 sense how this worked for you. 0.... if the index goes back to 1 then the slide resets and scrolls backward when you keep pressing next. the nodes are also only cloned once.

  • @neroleso
    @neroleso 4 роки тому +1

    you are genius

    • @fsniraj
      @fsniraj  4 роки тому +1

      Oh please I can't handle these heavy words. 🤩🤩 But thanks.

  • @warrenokane4371
    @warrenokane4371 2 роки тому

    Is it possible to hyperlink individual slides? Would greatly appreciate any help, thanks again for a great tutorial!

    • @fsniraj
      @fsniraj  2 роки тому

      Sure you can wrap the slide inside a tag

  • @LascelleMckenzie
    @LascelleMckenzie 3 роки тому

    Really nice tutorial

    • @fsniraj
      @fsniraj  3 роки тому

      Glad you liked it

  • @خنوتوو-ش1د
    @خنوتوو-ش1د 4 роки тому

    Hi, none degree programmer can you put a another video on how to make the images slider indicator that control the slider work ( the circles that are located in the bottom of the image slider usually ) , and good work, love your constant

    • @fsniraj
      @fsniraj  4 роки тому +1

      I will definately try.

  • @rafaellang9
    @rafaellang9 2 роки тому

    Muito obrigado pelo video, me ajudou muito

  • @muzamilhussain2550
    @muzamilhussain2550 3 роки тому

    If I have a box slider then the working is same or not???

  • @leonardocolombini4083
    @leonardocolombini4083 2 роки тому

    Hi Niraj! Thank you so much from Italy for this interesting and precise video! I have a question for you... when i want to adapt to my project, the slides[0] result undefined and so the gallery doesn't work.
    Can you help me to resolve it? It's for my university thesis :)

    • @fsniraj
      @fsniraj  2 роки тому +1

      Send me a DM @ndpniraj with screen shot of the error and the code where you are getting error.

    • @leonardocolombini4083
      @leonardocolombini4083 2 роки тому

      @@fsniraj i'm writing to you on Instagram!

  • @ivanamilosavljevic7609
    @ivanamilosavljevic7609 3 роки тому

    great video, tnx

    • @fsniraj
      @fsniraj  3 роки тому

      You're welcome

  • @anwesaray7943
    @anwesaray7943 2 роки тому

    thank you very much, i am new to web design and coding so this helps a lot, keep making detailed vids like this; btw, i have een told in the industry js is getting less and less relevant. is it true/

    • @fsniraj
      @fsniraj  2 роки тому

      I don't think so JS is the essential thing for web browser.

  • @aburizaladinugroho4191
    @aburizaladinugroho4191 3 роки тому

    i don't know, but when you minimize the window's browser or move to the other window, the transitionend event does not work in autoplay...

    • @fsniraj
      @fsniraj  3 роки тому

      Yes I know that, its your task to find out and teach me the solution.😊

  • @24apathy56
    @24apathy56 3 роки тому

    the arrows wont work for me for some reason

  • @minimoiize
    @minimoiize 4 роки тому

    Thank You for this tutoriel, it's really nice. I would like my slider to take all the width but at the end of the slider there a bit of white time before the first image charge again, do you have a solution to don't have this white space after the last slide?
    Thank You

    • @fsniraj
      @fsniraj  4 роки тому +1

      Share your code I will try, but I need some time.

    • @minimoiize
      @minimoiize 4 роки тому

      @@fsniraj thank you,
      I did the same code than you, even in your video we can see there is a few milliseconds before to be back at the first picture (before the overflow: hidden). Once the slide is finish we can see there is the just a bit of time

    • @fsniraj
      @fsniraj  4 роки тому

      Make a zip file of your code and share the link on my fb or insta chat I will try to fix your problem.

  • @tonyp3173
    @tonyp3173 2 роки тому

    Awesome video. However I am struggling to make responsive.

    • @fsniraj
      @fsniraj  2 роки тому +1

      Yes lots of people facing the same problem I will try to make another video with responsive design.

  • @s3104029
    @s3104029 4 роки тому

    Dear Non-degree Programmer, thanks for your tutorial, but what if I want to add another image slideshow in this same page, how would you do it? It will be very nice that you show me how. I will appreciate your kind reply.

    • @fsniraj
      @fsniraj  4 роки тому

      First of all thanks for your appreciation. And the answer to your question is
      , If you are following same code then you can easily increase the div with same class names and you can increase as many slides you want.

    • @s3104029
      @s3104029 4 роки тому

      @@fsniraj
      Yes, I tried but the second slideshow I add is not changing. Here is what I did so far:
      drive.google.com/file/d/1TXvyQ34jlYJDFKth7IXVPHADzEmDrFYA/view?usp=sharing

    • @fsniraj
      @fsniraj  4 роки тому

      I saw your code and found you are not trying to add any slides but you want to add completely separate slider in to the same page and you can not do that because javascript only selects the first elements that found in the document. So if you want to do this then you have to change class names and id of your second slider and repete same javascript code for second slider as well or create a reusable functions which allow you to select both sliders according to class names and id. I think it will help you :)

    • @oneno6964
      @oneno6964 4 роки тому

      @@fsniraj
      Thanks for this nice tutorial, but I also countering the same problem that I want to add completely separate slider into the same page. Could you maybe make another video about that? Because there are no other videos on UA-cam in terms of adding separate slider into the same page. If you can do it, I will appreciate your help very much!

    • @fsniraj
      @fsniraj  4 роки тому

      Sure, I will try to make that very soon.

  • @prateek4524
    @prateek4524 3 роки тому

    🔥🔥wow.. i have a problem i have matched with your code also . it is working great but when i refresh the page it says cannot read property cloneNode of undefined

    • @fsniraj
      @fsniraj  3 роки тому

      have you linked your JS script at the bottom of your html file.

    • @prateek4524
      @prateek4524 3 роки тому

      @@fsniraj i am using it in a functional component in react js. It works for once but if i refresh the page it throws the clone child error

    • @fsniraj
      @fsniraj  3 роки тому

      It's because you are trying to clone before DOM rendered try to add your slider logics inside useEffect hook.

  • @wastedon6641
    @wastedon6641 3 роки тому

    Thanks god for captions. great content

  • @miguelquintero5937
    @miguelquintero5937 2 роки тому

    How can you make it responsive with the images on the sides, and make it look like a centered slider? please

    • @fsniraj
      @fsniraj  2 роки тому

      There is a very interesting way to make images responsive inside tailwind css but if you don't want to use tailwind css then you can follow the CSS way. Watch the first part of this video.
      ua-cam.com/video/NX_NW6bt6_s/v-deo.html

  • @jariajisan7563
    @jariajisan7563 3 роки тому

    your tutorials are realy awesome.but why the number of the subscribers of channel are too poor???

    • @fsniraj
      @fsniraj  3 роки тому

      Thank you very much for this lovely words and really I don't know about the numbers but I am working on it.

    • @jariajisan7563
      @jariajisan7563 3 роки тому

      @@fsniraj carry on sir...😍😍
      i hope you will be succeed very soom

  • @InstrumentMania
    @InstrumentMania 4 роки тому

    _Awesome work _
    *thank you so much *

  • @teamwork8865
    @teamwork8865 2 роки тому

    thankx bro 👍🚩

    • @fsniraj
      @fsniraj  2 роки тому

      You're welcome.

  • @elliedeguzman1556
    @elliedeguzman1556 2 роки тому

    hi, may i ask why cloning the first and last images are important? what does it do for the code?

    • @fsniraj
      @fsniraj  2 роки тому

      Yes sure you can ask, we are doing this because we want to give it fake infinite look. I hope if you watch the first section of this video cearfully you will understand everything. or you can watch this little section of this video ua-cam.com/video/IX6_VTFPOzU/v-deo.html

  • @marclozo8295
    @marclozo8295 4 роки тому

    hi i would really like it if you helped me with something. When I look at the slider, when it passes a slide it goes to the 3rd slide. Whenever its supposed to go to the next it goes to the 3rd. Pls help

    • @fsniraj
      @fsniraj  4 роки тому

      First of all match your code with my code and I think you did some mistake while declaring index value.

  • @sagarbharati1438
    @sagarbharati1438 3 роки тому

    I appreciate

  • @edivaldowagner5617
    @edivaldowagner5617 4 роки тому

    did it like you, but the slides don't change automatically, what I do

    • @fsniraj
      @fsniraj  4 роки тому

      Compair your code with mine, I am sure you will find some mistakes in your code.

    • @someguy6076
      @someguy6076 2 роки тому +1

      I cannot be sure if you are having the same problem as I was (I also was having problems getting mine to work as I progressed through this tutorial) ....
      I found that I needed to use backticks around the code for the lines where Niraj typed: slide.style.transform = `translateX(${-slideWidth * current}px)`;
      They are NOT apostrophes.
      (NOTE: Backtick is the key next to the 1 on a QWERTY keyboard)

  • @bikramgyawali7292
    @bikramgyawali7292 4 роки тому

    great :)

  • @drdecker1
    @drdecker1 3 роки тому

    Are you able to make the same with a video slider ?

    • @fsniraj
      @fsniraj  3 роки тому

      frankly speaking, I don't know

  • @brunodornelles1917
    @brunodornelles1917 3 роки тому

    Thanks

    • @fsniraj
      @fsniraj  3 роки тому

      You are welcome

  • @Dlhruagan
    @Dlhruagan 4 роки тому

    Has anyone had issues with cloneNode undefined and unable to clone the first and last images?

    • @fsniraj
      @fsniraj  4 роки тому

      May I help you ?

    • @Dlhruagan
      @Dlhruagan 4 роки тому

      @@fsniraj I have attached my drive on the carousel with more images than what it currently shows.
      drive.google.com/drive/folders/1_rbM2cu3PoNZ9blFEo0SsYG-fw1vRQEn?usp=sharing
      Instead of having the buttons inside the photo, what I intend is to have it float around it, and the blue container is basically just the margin offset for the buttons (where the color will be removed)
      However, as I update my js with yours, it doesn't clone the images as yours does.
      Could you help me to take a look at this?

    • @fsniraj
      @fsniraj  4 роки тому

      bro simply, use your js script tag at the bottom of your html
      *
      and then
      *

  • @mishasawangwan6652
    @mishasawangwan6652 3 роки тому

    could have used modulo

  • @andd847
    @andd847 3 роки тому

    Many thanks. You help me a lot!

  • @biagioielli
    @biagioielli 4 роки тому

    Thank you!!! helped a lot!

  • @dannielkiala6524
    @dannielkiala6524 4 роки тому

    Thanks for your tutorial!

    • @fsniraj
      @fsniraj  4 роки тому

      You are welcome!

    • @dannielkiala6524
      @dannielkiala6524 4 роки тому

      please I have a question to ask you or took the javascript

    • @fsniraj
      @fsniraj  4 роки тому

      send me you doubt at ndpniraj@gmail.com

  • @pericab35
    @pericab35 2 роки тому

    Thank you so much!

    • @fsniraj
      @fsniraj  2 роки тому

      You're welcome

    • @pericab35
      @pericab35 2 роки тому

      @@fsniraj i had to finish one job quickly. I have 4 slides exactly 😂😉 in portfolio section.