Я работаю на подсказке плагин со следующими параметрами:Получить мышь Позиция или элемент Позиция
Мышь = True | Ложь. Позиция подсказки относительно мыши или элемента;
Static = True | False. Следуйте мыши, если опция Mouse = true.
У меня есть JSFiddle пример в: http://jsfiddle.net/mdmoura/RPUX6/
ПРОБЛЕМА:
Когда я помещаю курсор последних подсказок списка положение является неправильным.
Это происходит каждый раз, когда я прокручиваю страницу ... Я понятия не имею, почему.
Часть кода, который устанавливает положение является:
$(this).each(function (e) {
// SOME CODE
$this.mouseenter(function (e) {
var $tooltip =
$("<div>")
.attr("class", options.class)
.html(options.content !== '' ? (typeof options.content === 'string' ? options.content : options.content($this, $tooltip)) : tooltip.title)
.appendTo('body');
$this.attr('title', '');
var position = [0, 0];
if (options.mouse) {
position = [e.clientX + options.offset[0], e.clientY + options.offset[1]];
} else {
var coordinates = $this[0].getBoundingClientRect();
position = [
(function() {
if (options.offset[0] < 0)
return coordinates.left - Math.abs(options.offset[0]) - $tooltip.outerWidth();
else if (options.offset[0] === 0)
return coordinates.left - (($tooltip.outerWidth() - $this.outerWidth())/2);
else
return coordinates.left + $this.outerWidth() + options.offset[0];
})(),
(function() {
if (options.offset[1] < 0)
return coordinates.top - Math.abs(options.offset[1]) - $tooltip.outerHeight();
else if (options.offset[1] === 0)
return coordinates.top - (($tooltip.outerHeight() - $this.outerHeight())/2);
else
return coordinates.top + $this.outerHeight() + options.offset[1];
})()
];
}
$tooltip.css({ left: position[0] + 'px', top: position[1] + 'px' });
Вы также можете увидеть код и демо в http://jsfiddle.net/mdmoura/RPUX6/.
Спасибо!
Это работает! спасибо –