jquery滑块不能在masterpage asp.net上工作

时间:2012-12-28 05:43:29

标签: jquery asp.net

  $(document).ready(function () {

          $("div#banner_content").jContent({ orientation: 'vertical',
            easing: "easeOutCirc",
            duration: 500,
            auto: true,
            pause_on_hover: true,
            direction: 'next'
        });

    });

它在不使用母版页的其他页面上正常工作

  <div id="banner_content">
            <big runat="server" id="slides1"></big>
        </div>

我正在从c#backend

添加我的内容

当我在firebug中调试时,我在错误控制台中收到此错误,因为我的主页上没有这样的元素

enter image description here

注意:我的所有脚本都运行正常,因为我在其他页面上测试了代码

2 个答案:

答案 0 :(得分:0)

当您使用母版页时,存在ID更改的问题。因此,如果您使用的是asp.net 4.0,则可以使用

ClientIDMode="Static" 

如下

 <div id="banner_content" ClientIDMode="Static" >
        <big runat="server" id="slides1"></big>
    </div>

或在您的jquery代码中

   $(document).ready(function () {
      $("div#<%= banner_content.ClientID %>").jContent({ orientation: 'vertical',
        easing: "easeOutCirc",
        duration: 500,
        auto: true,
        pause_on_hover: true,
        direction: 'next'
    });

});

答案 1 :(得分:0)

根据您的描述,可能存在两个问题。 CSS错误看起来可能来自身份验证问题,并且正在重定向到登录页面。就我可以从您放入的屏幕截图中得到的结果而言。

另一个错误,可能是因为您尝试访问的元素的ID正在服务器端创建。因此,您可以在javascript代码中执行以下操作:

$(document).ready(function () {

      $("div#<%=banner_content.ClientID%>").jContent({ orientation: 'vertical',
        easing: "easeOutCirc",
        duration: 500,
        auto: true,
        pause_on_hover: true,
        direction: 'next'
    });

});

或者您可以通过在母版页,页面或单个控件中定义ClientIDMode来使用静态ID:

ClientIDMode="Static"