0

我有一个加载模式弹出窗口(带有外部 html 文件)的 jQuery 插件(颜色框)。<-- 自己完美地工作。我有另一个为 div 加载自定义滚动条的 jQuery 插件 (jScrollPane)。<-- 它本身也很完美。两者都有一个 JS 组件和一个 CSS 组件。

到目前为止我的过程:

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

所以我想我的问题是:如何让 jQuery 插件及其 CSS 文件在动态加载的内容上进行初始化?什么去哪里(包括 jQuery 库本身)?

谢谢!

4

2 回答 2

0

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

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

其中 #id 是隐藏的 DIV,将包含您的对话数据,而 URL 是弹出窗口中 html 文件的外部 url。

于 2010-06-29T02:41:05.303 回答
0

找到了解决方案....

我的问题专门针对将 colorbox(一个 jQuery 灯箱插件)与 jScrollPane(一个 jQuery 自定义滚动条插件)集成。我使用颜色框加载内容的 ajax 调用有效,但是,jScrollPane 无法启动,因为未加载所需的内容(因为 ajax 调用没有从head标签中提取任何信息)。

如果其他 Stack Overflowers 偶然发现了类似的问题,我就是这样做的:使用 iframe 而不是 ajax 调用。哎呀。呃。

我不知道 colorbox 是否是唯一一个仅从body标签而不是从标签中提取信息的插件,head但我想许多插件在处理外部文件时都是这样工作的。如果这是您的问题,请使用 iframe 确保head提取代码中的数据。

感谢堆栈溢出!我还爱你。

于 2010-06-29T06:36:37.937 回答