Jquery 工具覆盖在 IE7 中不起作用

标签 jquery overlay jquery-tools internet-explorer-7

我正在使用 Jquery 工具覆盖,它允许我加载外部页面 - http://flowplayer.org/tools/demos/overlay/external.html

我在 IE7 中遇到了问题(在 IE8/chrome 等上运行良好)

当我单击调用叠加层时,我将被发送到实际的外部文件,而不是停留在页面上并获得包含外部文件的叠加层。

这是 jquery:

<script>

$(function() {

    // if the function argument is given to overlay,
    // it is assumed to be the onBeforeLoad event listener
    $("a[rel]").overlay({

        mask: {
        color: '#000',
        loadSpeed: 200,
        opacity: 0.8,

    },


        onBeforeLoad: function() {

            // grab wrapper element inside content
            var wrap = this.getOverlay().find(".contentWrap");

            // load the page specified in the trigger
            wrap.load(this.getTrigger().attr("href"));

        }

});
});

$('.close').live('click', function() {

        $("#overlay").fadeOut('slow', function() {

          });

        $("#exposeMask").fadeOut('slow', function() {

          });

    });
</script>

这是 HTML:

<!-- overlayed element -->
<div id="overlay" class="apple_overlay">

<!-- the external content is loaded inside this tag -->
<div class="contentWrap"></div>

</div>

<a href="Overlay_Login.php" rel="#overlay" class='button button_small_grey'>Login</a>

如果您还没有猜到我对 jquery 的了解并不多。因此,如果有人能够阐明这个问题,我们将不胜感激。

最佳答案

恕我直言,从经验来看,我会远离 jQuery 工具,特别是如果您对 jQuery 没有很好的应用知识。由于需要大量的标记和奇怪的方法,它与您可能遇到的任何其他 jQuery 插件不同。如果您确实想了解有关如何正确使用 jQuery 的更多信息,请坚持使用采用更可靠、普遍接受和标准方法的插件。

jQuery 工具已经一年多没有更新了(自 jQuery 1.4.2 以来),并且根据 Flowplayer 论坛中的报告,IE9 和 jQuery 1.6 存在很多问题。开发商 Tero 在过去的一年里对此表现得相当不稳定。他与社区互动的时间几乎为零,并且用他自己的话说,最近他谈到了他对其他项目和家庭的干扰。他似乎也无法让足够多的人参与进来,以使这个项目成为一个社区项目或更能 self 维持。

虽然据说新版本即将发布(从 2011 年 6 月开始?),但它不会向后兼容您的任何旧代码,因此您无论如何都必须重写所有内容。当 Tero 决定在更新的 jQuery 和浏览器发布时再次长时间中断时,谁敢说您不会在一年内再次重写此代码。

jQuery Tools Alternatives?

就您的具体问题而言,我看到 "trailing comma of death" 在下面的 opacity: 0.8 行之后:

$("a[rel]").overlay({    
        mask: {
          color: '#000',
          loadSpeed: 200,
          opacity: 0.8,    
        },
....

某些版本的 Internet Explorer 会因逗号而卡顿,因为逗号后面没有任何内容。

删除它并看看是否有帮助:

$("a[rel]").overlay({    
        mask: {
          color: '#000',
          loadSpeed: 200,
          opacity: 0.8    
        },
....

关于Jquery 工具覆盖在 IE7 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7473681/

相关文章:

javascript - Plone 4 : open overlay with ajax content w/o binding to click

jQuery 工具选项卡插件 : Make Active Tab Always first

javascript - 以字符串形式检索原始 html 实体(十进制)值

java - 在 Maven war 覆盖期间覆盖资源

flash - 固定位置在 Chrome 中损坏,后面有 Flash

ffmpeg - 我正在使用 ffmpeg 在实时流上叠加图像。我如何根据屏幕的宽度进行缩放以使其完全适合

jQuery 工具警报工作一次(但仅一次)

jquery - cfcomponent 中的 cfquery 未返回 Coldfusion 9 中的最新结果

javascript - onclick 不触发 jquery 中的所有代码

javascript - 在循环内分配 json 值时值被覆盖