goog.style.bidi
Namespace.getOffsetStart(element)
Returns the "offsetStart" of an element, analagous to offsetLeft but normalized for right-to-left environments and various browser inconsistencies. This value returned can always be passed to setScrollOffset to scroll to an element's left edge in a left-to-right offsetParent or right edge in a right-to-left offsetParent. For example, here offsetStart is 10px in an LTR environment and 5px in RTL:
| xxxxxxxxxx | ^^^^^^^^^^ ^^^^ ^^^^^ 10px elem 5pxIf an element is positioned before the start of its offsetParent, the startOffset may be negative. This can be used with setScrollOffset to reliably scroll to an element:
var scrollOffset = goog.style.bidi.getOffsetStart(element); goog.style.bidi.setScrollOffset(element.offsetParent, scrollOffset);
element
{Element
}
number
}
.getScrollLeft(element)
Returns the normalized scrollLeft position for a scrolled element.
element
{Element
}
number
}
.setPosition(elem, left, top, isRtl)
Sets the element's left style attribute in LTR or right style attribute in RTL. Also clears the left attribute in RTL and the right attribute in LTR.
elem
{Element
}
left
{number
}
top
{?number
}
isRtl
{boolean
}
.setScrollOffset(element, offsetStart)
Sets the element's scrollLeft attribute so it is correctly scrolled by offsetStart pixels. This takes into account whether the element is RTL and the nuances of different browsers. To scroll to the "beginning" of an element use getOffsetStart to obtain the element's offsetStart value and then pass the value to setScrollOffset.
element
{Element
}
offsetStart
{number
}