На самом деле вам не нужно ничего менять.У меня похожая функция, но чуть более расширенная.Просто удалите его из функции document.ready.Имейте в виду, вам лучше использовать делегат () вместо live ().Из-за пузырей.Если вы хотите полностью автоматизированную страницу, которая загружается на лету, взгляните на jaltiere.com
Но вам нужно будет полностью переписать ваш скрипт.Кроме того, и live (), и делегат () сложно настроить с помощью событий mouseover и mouseout.
Кэширование в документе отсутствует.Отдельная функция для обновления:
function ajaxcall(){
$.get("ajaxpage.php?", function(data) {
$("#recent").html(data);
bifunct();
});};
А теперь твой скрипт.Я поменял мышку и мышку на mouseenter и mouseleave.Они работают немного лучше.
bifunct = function(){
$('.bi').each(function () {
// options
var distance = 10;
var time = 250;
var hideDelay = 500;
var hideDelayTimer = null;
var beingShown = false;
var shown = false;
var trigger = $('.tt', this);
var popup = $('.popup', this).css('opacity', 0);
// set the mouseover and mouseout on both element
$([trigger.get(0), popup.get(0)]).mouseenter(function () {
if (hideDelayTimer) clearTimeout(hideDelayTimer);
if (beingShown || shown) {
return;
} else {
beingShown = true;
popup.css({
top: $(this).position().top-150,
left: $(this).position().left-100,
display: 'block'
})
.animate({
top: '-=' + distance + 'px',
opacity: 1
}, time, 'swing', function() {
beingShown = false;
shown = true;
});
}
}).mouseleave(function () {
if (hideDelayTimer) clearTimeout(hideDelayTimer);
hideDelayTimer = setTimeout(function () {
hideDelayTimer = null;
popup.animate({
top: '-=' + distance + 'px',
opacity: 0
}, time, 'swing', function () {
shown = false;
popup.css('display', 'none');
});
}, hideDelay);
});
});}
Если вы хотите обновить, просто поместите это в ваше тело или измените, чтобы вызвать функцию ajaxcall:
<a onclick="ajaxcall();return false" href="#"> update </a>