当我将脚本文件中的脚本放在母版页上时,Jquery手风琴不起作用,但是当我将它直接放在页面上时

时间:2010-01-20 14:53:46

标签: asp.net javascript jquery jquery-ui

我有一个名为Default.aspx的页面,它继承自名为Main.master的母版页。

在Main.master中,我有一个asp:ScriptManager,在脚本管理器中,我把jQuery 1.4库,jquery 1.7.2 ui库,我也放了一个我创建的自定义js文件,现在只有代码:

$("#accordion").accordion({
    collapsible: true,
    autoHeight: false
});

当我加载default.aspx时,它正在加载所有的javascript文件,但是手风琴div没有被渲染成手风琴。如果我将上面的代码直接放在default.aspx上的脚本标签之间,那么手风琴会呈现,所以我假设它与它没有识别手风琴ID有关,但如果我错了就纠正我。

2 个答案:

答案 0 :(得分:1)

当你在外部文件中调用accordion时,我猜你的DOM还没准备好,但是当你在脚本标签中调用它时。你把它包裹在$(document).ready(function(){});吗?

答案 1 :(得分:0)

我对jQuery 1.4和accordion有完全相同的问题。我有一个隐藏的窗格,当我显示那个窗格时,它不是手风琴......是的,我在$(document).ready(function(){});

里面有对手风琴的调用

我的解决方案是每次显示隐藏的窗格时都会调用手风琴,但这似乎过于雄心勃勃。

干杯