interrupts, start at loop

I wanted to make a program, in which whenever an interrupt occurs, it would go to the beginning of loop() function. Now it continues to execute code where it is interrupted. Is there a way to make it work ?

Now it continues to execute code where it is interrupted.

That's what interrupts are supposed to do.

If you were cooking dinner, and I rang the doorbell, you wouldn't go back and finish off the ironing, would you?
Or worse, start peeling the potatoes again.

Tell us what do you want to do, not how you think you should do it.

(to get "loop()" to start again, just "return" from it)

my code looks basically like this:

setup()
{
  attachInterrupt(pbIn, stateChange, FALLING);
}
loop()
{
   while(state==LOW)
   {fun1();}
   while(state==HIGH)
   {fun2();}
}
stateChange() //
{
state=!state;
}

interrupt occurs when i push the button. Fun1 and fun2 are responsible for working on leds, they have delays inside. I wanted to switch between this 2 modes of led functions. Now i have to wait for one to end to see change in modes. Maybe this is wrong aproach to this problem ?

they have delays inside.

So, get rid of them, they're a waste of processor cycles.

i need them to keep one color on rgb, then change it and so on.

i need them to keep one color on rgb, then change it and so on.

No, you don't. Think about how YOU would set the color values using a watch and a pad of paper.

Look at the Blink Without Delay example.

oh, now i see that, thanks. I will try this approach.