I have a button that changes the background of a div when its rolled over. the background needs to change on a timer so i have used setTimout to execute methods that change
You are using setTimeout and clearTimeout wrongly. The setTimeout function returns a handle to the timeout, which is to be passed into clearTimeout to stop it.
var playVTimeout;
...
playVTimeout = setTimeout(playV, 2700);
....
clearTImeout(playVTimeout);
Also note that setTimeout(playV(), 2700); will call playV() now and execute its return value 2.7 seconds later. You should pass a function object playV in instead.