Refactor/Review JS function which moves a banner on window resize
Ok, assuming:


You didn't use media queries for cross-browser reasons
This function is already bound to a resize event, since you didn't include what triggers the function call
Assuming that this is the window object, judging from the way you call it vp as in viewport and getting its width.


Then:

function updateReadyGoBG(){ 

        //you can actually merge declaration and assignment
    var vpWidth   = jQuery(this).width(),
        //cache the ready_go_bg jQuery object to avoid requerying
        readyGoBg =  jQuery('.ready_go_bg'),
        position  = 0,
        difference;

    if(vpWidth &gt; 980 &amp;&amp; vpWidth &lt; 1067){

        //you could use position instead of getting the CSS left
        //to avoid getting a string, and chopping off the "px" part
        position = readyGoBg.position().left;

        difference = (position - (600 - (vpWidth - position) ) ) + 100;

        //sadly, position is just a "getter".
        //you could use .offset(value) but calculating relative
        //to your offset parent would be too much work
        //we use .css(prop,value) to set the left value
        //if unit wasn't specified, jQuery assumes it's in pixels
        readyGoBg.css('left', difference);
    }
}




function updateReadyGoBG() {
    var vpWidth = jQuery(this).width(),
        readyGoBg = jQuery('.ready_go_bg'),
        position = 0,
        difference;
    if (vpWidth &gt; 980 &amp;&amp; vpWidth &lt; 1067) {
        position = readyGoBg.position().left;
        difference = (position - (600 - (vpWidth - position))) + 100;
        readyGoBg.css('left', difference);
    }
}




General Advice:


Never forget ; at every line. You may run into issues during minification if you forget them
Though personal preference, but it's cleaner to use ' instead of ".
Unless totally necessary, I'd avoid absolute positioning. Let the layout dictate positions.