2010-06-29 40 views
0

我有一个加载模式弹出窗口(与外部HTML文件)的jQuery插件(colorbox)。 < - 完美的作品。我有另一个jQuery插件(jScrollPane),为div加载自定义滚动条。 < - 它本身也很完美。两者都有一个JS组件和一个CSS组件。获取jQuery插件来动态加载(ajax)内容

我迄今为止的过程:

  1. 我试图加载和初始化从永恒的HTML(弹出)滚动条jQuery和CSS和我的DIV消失。
  2. 然后我尝试在父窗口中加载滚动条jQuery,并在colorbox回调中初始化它...这次我的div没有消失,但滚动条和箭头(甚至OS标准箭头)消失了。
  3. 最后,我把滚动条CSS放入<style>标签中,并将其嵌入到永久html文件的<body>标签中。这适用于所有主流浏览器,但是,现在无法退出弹出窗口。精氨酸!

所以我想我的问题是:你如何获得jQuery插件及其CSS文件来初始化动态加载的内容?什么地方(包括jQuery库本身)?

谢谢!

+0

您是否正在使用文档准备好?如果是这样,我相信你需要改变.live。你也可以让你的ajax返回JS来执行。 – thomasfedb 2010-06-29 02:22:15

回答

0

实测溶液....

我的问题特别与JScrollPane的(一个jQuery定制滚动条插件)积分颜色框(一个jQuery灯箱插件)。我ajax调用加载colorbox的内容工作,但是,jScrollPane无法启动,因为所需的没有加载(因为AJAX调用没有从head标签拉任何信息)。

如果其他Stack Overflowers遇到类似的问题,这是我做了解决它:使用iframe而不是ajax调用。糟糕!咄。

我不知道如果colorbox是仅从body标签中获取信息的唯一插件,而不是head,但我想象许多插件在使用外部文件时都以此方式工作。如果这是您的问题,请使用iframe来确保您的head标签中的数据被拉出。

感谢Stack Overflow anyhoo!我还爱你。

0

如果您使用的是“window.open”类型的弹出窗口,那么我会说让它变得更简单一些,并将其作为一个JQueryUI对话框,将您的外部html文件引入到您的页面中,它在DIV中并且可以在一般的页面上下文中访问,并继承JQuery和CSS。这样做的简单的形式应该是这样的:

$("#id").load(url).dialog(); 

其中#ID是隐藏的,将包含你的对话框的数据,URL是外部链接直接在您的弹出HTML文件中的DIV。

+0

不幸的是它是一个模态的,在窗口内的弹出窗口......非常类似于JQueryUI对话框,但是是一个不同的插件。我已经建立了很多像你所建议的。 – Kyle 2010-06-29 04:01:22

+0

也许你可以发布我们的代码样本,看看? – REW 2010-06-29 05:54:56

+0

嗨REW ...我只是想通了!我使用了iframe,因为我的插件只是将信息从主体标签中提取出来(因此不会加载其他插件加载所需的CSS)。感谢您花时间考虑我的问题! – Kyle 2010-06-29 06:37:45