使用包含相同jquery脚本的jquery脚本加载页面

时间:2017-02-26 14:25:20

标签: javascript jquery

更新:

我试着更好地解释一下我的情况:(对不起,我用英语解释起来非常困难)。

我的mainpage.asp包含10个div。 页面加载jquery并加载myfunction.js,其中在document.ready中声明了以下函数:

// toggle
$("a.toggle-fx").click(function(){
    var x=$(this).attr("id");
    $("#x"+x).slideToggle(400);
    $(this).toggleClass('toggle-btn-active');
    }
);

每个div都是这样的:

<a href="javascript:void(0)" class="toggle-btn toggle-fx" >open info</div>
<div class="toggle-content" id="xtoggle_[id]">
    [html content]
</div>

(* [id]对每个div都是univoque)

打开信息链接效果很好:第一次点击打开,第二次点击关闭。

在10个div之后,我有一个按钮&#34; loadomore&#34;调用函数来加载&#34; loadmore.asp&#34;生成其他10个div并将此内容附加到主页上的#moreresults框中,在前10个div下。

function loadmore(pag,pagnum,qcry){
    $.ajaxSetup ({cache: false});
    $.ajax({    
        type: "POST",
        url: "loadmore.asp",
        dataType: "html",
        success: function(msg)
        {
            $("#moreresults").append(msg);
        },
            error: function()
        {
            alert("loading failed.");
        }       
    });//ajax
}

这很好。每次点击loadmore按钮,我会显示10个新的div。

那么,问题是什么?问题出在loadmore.asp页面中。我不知道如何让新添加的10个div使用主页面中声明的切换功能。

  • 如果在loadmore.asp中我加载了jquery和myfunction.js,则切换功能可以工作,但只需单击一下就会触发2次(框会立即打开并关闭)。我想原因是我加载了toggle函数2次(在loadmore.asp的mainpage.asp中)

  • 如果在loadmore.asp中我没有加载/包含jquery和myfunction.js,那么toogle功能在新的10个div上根本不起作用。

所以问题是,当我用$ .ajax加载一个新内容并将其附加到主页面时,没有共享jquery函数和我在调用主页面时声明的其他函数。

我的目标是使用$(&#34; a.toggle-fx&#34;)。点击(加载和追加内容中的function()。

感谢

0 个答案:

没有答案