I had this problem a couple of times. I create a gradient overlay and I obviously want it to be applied to the visible part of what I'm doing. However it is applied to the 'uncropped' image so It might even not be visible at all, I have to spend some time moving the gradient around to be able to see it.
You Have To Make Smart Object
Loook as I do; layer mask just
hides the blacked area it doesn't
erase it so if you want to really apply your style to your cropped area first make new
Smart Object by copying masked layer and hiding their styles then just paste style on new smart object :) Hope it helps you out :)
Steps I did
=> ctrl+shift+n to create blank layer.
=>select mask by ctrl+click on mask and fill new layer by solid color ctrl/alt+backspace
=> deselect layer by ctrl+D
=>make clipping mask
=>apply layer styles
Hope you get what you wanting :)