jquery overlay不会在localhost上触发

时间:2011-04-10 13:35:04

标签: jquery localhost

我正在尝试整理本地测试环境并成功设置xampp来提供php页面。这是我第一次这样做,所以我很可能会犯新手错误!

但是,我知道javascript是客户端,所以jhost由localhost提供的事实不应该有任何区别吗?

我有一个带有jquery覆盖的页面,它可以完美地在线工作 - 即由远程服务器提供服务。但是,当我通过xampp加载本地服务的页面时,firebug会显示以下错误:

$("#modifile_link[rel]").overlay is not a function
[Break On This Error] onBeforeLoad: function() {

这是jquery调用...

$(function() {
    // Setup a basic iframe for use inside overlays.
    var theframe = $('<iframe class="iframe_style" frameBorder="0" scrolling="no"></iframe>');

    // Overlay
    $("#modifile_link[rel]").overlay({effect: 'apple',
        mask: {
            color: '#000000',
            loadSpeed: 1000,
            opacity: 0.6
        },
        closeOnClick: false,
        onBeforeLoad: function() {
            // grab wrapper element inside content
            var wrap = this.getOverlay().find(".contentWrap");
            //Get the URL from the trigger
            var link = this.getTrigger().attr("href");
            // load the page specified in the trigger
            $(theframe).attr({ src: link });
            //Write the iframe into the wrap
            wrap.html(theframe);
        }
    });
});

绑定到此链接...

<div id="modifile_link" href="scripts/modifile/index.php" rel="#overlay_1"></div>

这里是覆盖的html ......

<div class="overlay_1" id="overlay_1">
    <div class="overlay_content">
        <div class="contentWrap"></div>
    </div><!-- end overlay content -->
</div><!--end overlays html-->

所以,在firebug中加载jquery文件但是onBeforeLoad:function()不被接受似乎很奇怪。没有ajax正在进行所以我想排除跨域安全限制?我不知道。

任何指针都会很棒。

感谢。

斯科特

1 个答案:

答案 0 :(得分:0)

您需要确保您的文件存在于本地服务器上并且路径正确。右键单击浏览器中的页面,“查看页面源”,然后单击javascript链接以查看它们是否打开或服务器返回404未找到。

如果您无法从浏览器访问javascript文件,请首先检查它们是否存在于本地文件夹结构中,但我的猜测是您的网址错误。注意绝对/相对路径。尝试使用相对网址包含您的javascript文件 (开头没有/