在另一个插件中销毁一个插件

时间:2013-02-22 10:03:07

标签: javascript jquery html5 css-transitions destroy

和我一起讨论这个

这很长,但我迫切需要一些帮助。如果您更愿意查看存在问题的工作站点,请参阅“凭据”部分(我正在设置蓝色块'#star'下面的内容的动画):

http://176.32.230.17/apptivation.co.uk/m/home/

我有两个插件

  1. :onscreen在视口上显示目标DIV时播放动画
  2. Full Screen Page Flip在各部分之间制作一本类似的书
  3. 插件2在一个页面上需要以下部分结构才能使其正常工作:

    <div class="bb-item">
    <div class="content">
        <div class="scroller">
                        <!-- this is the div i want to animate -->
            <div id="star" class="inner-pad">
                some content
            </div>
        </div>
    </div>
    </div>
    

    我像这样初始化屏幕插件:

    $(function() {
     setInterval(function() {
        $("#star").filter(":onScreen").addClass('animated bounceInRight');
     }, 0)                             
    })
    

    如果上面的代码是第一部分,我的'#star'div将成功添加类名,就像屏幕上的那样(插件1)。但是,如果我将该代码移动到第五部分(例如),屏幕上会在我到达(明显看到)该部分之前添加类名。这就是我认为插件2影响插件1的地方,使得插件1认为div实际上是不可见的。

    如何确保屏幕插件完成其工作,并且仅当我在特定部分时才添加类名?

    我已经尝试在屏幕插件初始化之前删除了类名“动画bounceInRight”,但是没有用。在this script file(插件2)中,当页面转动时,它会破坏一些元素并重新初始化,我可以在屏幕上执行相同的操作吗?我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

大多数jQuery插件在jQuery数据中存储其对象的新实例。我对皇家滑标代码http://dimsemenov.com/plugins/royal-slider/达到了顶峰,我认为您可以通过直接引用royalSlider对象来销毁它。

首先,您要检查并查看尝试调用destroy的元素是否确实具有royalSlider实例。

See this page