【问题标题】:Create modal window based on the domain of a link根据链接的域创建模态窗口
【发布时间】:2013-11-02 05:54:24
【问题描述】:

有人知道是否可以使用fancybox 或其他基于页面链接域的东西来创建模式窗口吗?我在页面上显示查询的输出,但我无法将 CSS 类信息添加到输出中。因此,我想知道 jQuery 是否有可能在页面加载插入类时弄清楚它。这是我正在使用的输出 HTML。

More Info

页面链接:http://goo.gl/pA3W7Y

我在想也许 jQuery 可以匹配术语“更多信息”。如果该术语出现在页面上,它将与之匹配。我真的在这里挠头。任何见解将不胜感激。干杯。

史蒂夫。

【问题讨论】:

  • 那么匹配应该基于域,还是基于页面中的内容?

标签: javascript jquery .net css fancybox


【解决方案1】:

您可以使用 regex 或 indexOf 轻松完成此操作。

indexOf 示例:

$(document).ready(function() {
    $('a').each(function(x) {
        var link = $(this).attr('href'); //get href from <a>
        var s = "learning.westerncpe.com/local/api/html.php";
        if (link.indexOf(s) !== -1) {
            $(this).addClass('fancybox');
        }
    });
});

$('.fancybox').click(function (e) {
    $('.fancybox').fancybox({
        'autowidth': 'true',
        'width': 900,
        'height': 700,
        'type': 'iframe'
    });
});

编辑:意识到您将通过页面上的链接执行此操作,因此添加了 jQuery 包装器。

【讨论】:

  • 感谢您的帮助。我想我明白你来自哪里,但我在实施它时遇到了麻烦。我的链接仍在执行,并且没有以模式呈现。需要明确的是,一个页面上将有 25-50 个链接适用。我建立了一个开发站点来尝试实现这一点。 --goo.gl/eynZEY。这是生产站点的样子goo.gl/4r9LSU。任何见解将不胜感激。谢谢!!
  • jsfiddle.net/remus/7tKsj 这是一个工作小提琴。在您的示例中,选择器为$('fancybox fancybox.iframe')。 jQuery 的工作方式是选择器字段必须匹配 DOM 的类、id 或元素。您将在 jsFiddle 中看到,我必须首先将 fancybox 类添加到您的 链接,然后将选择器更新为简单的 '.fancybox'
  • 感谢代码!对不起,我应该更清楚。我没有能力在我的链接中声明一个类。链接直接从我无法修改的查询中输出。输出 HTML 正是“learning.westerncpe.com/local/api/…”。不幸的是,我不能在那里放任何东西。所以我在想有没有一种方法可以让 jQuery 在页面加载时添加它。任何见解将不胜感激。非常感谢!!!
  • 啊,现在我明白了。在此处查看更新的小提琴:jsfiddle.net/remus/7tKsj/1
  • 这绝对是朝着正确方向迈出的一步!但是,这会响应页面上的所有链接,而不仅仅是脚本中指定的链接。实际页面未在模态中加载,但模态仍在出现。理想情况下,我只希望指定链接出现模式,页面上的其他所有内容不受影响。关于如何使它只响应我们指定的任何想法?谢谢你!如果你在洛杉矶附近的任何地方,我都会喝啤酒。谢谢。史蒂夫。
猜你喜欢
  • 2014-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-13
  • 1970-01-01
  • 2017-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多