ksa,
А можно ли как то отнять left? Я сделал так:
//определить ширину видимой области браузера
var all = $(window).width();
//определить координаты выпадающего меню относительно окна
var left = $(this).siblings().offset().left;
//найти ширину меню
var width = $(this).siblings().outerWidth(true);
// теперь простыми математическими расчетами можно определить выходит ли правый край меню за пределы видимой области,
var offset = all - (left + width);
if (offset<0){
$(this).siblings().offset().left-offset; //А как отнять offset от left не знаю