0

我正在使用 bxcarousel 来显示一堆图像。每个图像都有一个工具提示,我使用 qtip 显示。

这适用于第一轮,但是当图像第二次出现时,工具提示不再显示(因为 bxcarousel 删除了一个滑出的元素并将其放回最后)

可以在此处找到轮播示例: http ://www.kipdola.be/carousel/carousel.html

这是用于绑定事件的代码(也许它需要某个地方的“实时”功能?)

// Create the tooltips only on document load
$(document).ready(function() 
{
   // Use the each() method to gain access to each elements attributes
   $('#shopcarousel a[rel]').each(function()
   {
      $(this).qtip(
4

2 回答 2

1

我最终出于类似目的修改了 bxCarousel。这是我的步骤:

1.) 向默认对象添加另一个属性(animation_cb 或回调)。这个属性应该被用来传递一个回调函数,在每个动画循环结束时执行:

var defaults = {
    ...
    controls: true,
    animation_cb: null
};

2.) 为 slide_next 和 slide_prev 函数添加一个选项检查:

function slide_next(){
    ...
    get_a();
    if (typeof options.animation_cb === "function") options.animation_cb();
    is_working = false;
    ...
}

和:

function slide_prev(){
    ...
    get_p()
    if (typeof options.animation_cb === "function") options.animation_cb();
    is_working = false;
    ...
}

3.) 最后,在您的插件初始化调用中,传递一个要执行的回调函数。例如:

function doBar () {
    // whatever you need to happen after the slides have moved
    // like rebinding events, or what have you
}

$('ul.foo').bxCarousel({
    ...
    animation_cb: doBar
});
于 2010-07-14T12:25:14.890 回答
0

qTip 不适用于.live()事件......我尝试了这样的事情:

$('#shopcarousel a[rel]').live('mouseover', function(){... })

但它效果不佳,因为有时您必须离开元素然后返回以显示工具提示。

.live()更好的选择是使用与事件绑定的工具提示。我找不到很多,它们仍然相对基本:

  1. 简单的工具提示(制作您自己的教程)
  2. Tipsy(我不确定这是否设置为使用 Ajax 加载内容)
  3. monnaTip(来自这个SO 答案
于 2010-05-06T21:33:46.053 回答