2013-05-07 14 views
6

Mam tooltip jQuery, jak podano w poniższym linku:jQuery UI Tooltip porusza się z macierzystej div

http://jsfiddle.net/ronnykroy/amYZW/2/

HTML:

<div id="parent"> 
    <div id="child" title="It has been a very long text"> 
    </div> 
</div> 

CSS:

#parent{ 
    position:absolute; 
    width: 500px; 
    height: 200px; 
    background-color:#00f; 
} 

#child{ 
    position:absolute; 
    left:400px; 
    width: 100px; 
    height:150px; 
    background-color: #f00; 
} 
.tooltipclass{ 
    width: 50px; 
    background-color: #ffffff; 
    color: #000000; 
} 

Z Jquery w następujący sposób:

$("#child").tooltip({ 
    track: true, 
    tooltipClass: "tooltipclass" 
}); 

Teraz, gdy umieszczam kursor nad "dzieckiem", nie chcę, aby podpowiedź była przenoszona poza obiekt nadrzędny, tzn. Etykieta narzędzia powinna być umieszczona dynamicznie w obrębie elementu nadrzędnego.

+0

można spróbować opcji pozycję, 'http: // api.jqueryui.com/podpowiedzi/# Option position' – dreamweiver

Odpowiedz

5

Użyj opcji position w interfejsie API jQueryUI Tooltip. Opcja position używa jQuery UI Position, więc spójrz na to.

$("#child").tooltip({ 
    track: true, 
    tooltipClass: "tooltipclass", 
    position: { within:"#parent"} 
}); 

DEMO: http://jsfiddle.net/dirtyd77/6EZHZ/

Nadzieja to pomaga i daj mi znać, jeśli masz jakiekolwiek inne pytania.

+0

Thanks.It worked.It było naprawdę pomocne. Co powinienem zrobić, aby upewnić się, że toottip pozostanie na dole wskaźnika. –

+2

Pewnie! Użyłbym 'position: {at:" bottom ", within:" # parent "}'. Oto [demo] (http://jsfiddle.net/dirtyd77/6EZHZ/2/). Możesz także eksperymentować z 'at' używając" center bottom "," left + 15 bottom "itd. Oto [wyjaśnienie] (http://api.jqueryui.com/position/)' at' i 'mój'. – Dom

+0

Podczas kolizji wystąpiło opóźnienie: "dopasuj" .Jak mogę to przezwyciężyć. –

1

spróbować

jsfiddle

$("#child").tooltip({ 
    track: true, 
    tooltipClass: "tooltipclass", 
    position: { my: "left top+15", at: "left bottom", collision: "flipfit" } 
});