Я не эксперт по JQuery, поэтому, вероятно, будет более понятный способ сделать это, но вы можете проверить, больше ли offset
элемента плюс его width
, чем ширина окна:
var x2 = ($this).offset().left + ($this).width()
if( x2 > $(window).width() ){
//change left to right
}
Редактировать
Чтобы вставить его в пример кода, который вы предоставили в JSFiddle, вы можете сделать следующее:
// Setting correct position for dialog
$(param).children('.gui-selectbox-dialog').each(function(index) {
var x2 = $(this).offset().left + $(this).width();
var side = (x2 > $(window).width() ) ? "right" : "left";
$(this).css({
'top': heightBtn,
side: '0px'
});
});
Имейте в виду, что это не будет работать в JSFiddle, потому что он использует длину окна вашего браузера, а не длину view
div в JSFiddle.