1

我正在使用来自http://manos.malihu.gr/的 Jquery 自定义内容滚动条,它似乎很受欢迎。我最初尝试使用它,然后切换到 Nicescroller,它最初工作正常,但后来我的功能碰壁了,现在又回到了这里......

我正在做的事情并不复杂。数据来自 AJAX 并被输入 DIV,然后在 AJAX 成功时将滚动条应用于 DIV。DIV 实际上用于显示表单错误消息,它周围的主要 HTML 是表单字段。我认为这无关紧要,但我想提供所有相关信息。

这是 AJAX 调用的“成功”部分:

 success: function (data) {     
    $('#error_msg_div').html(data); 
    if (submit_status != "OK") //submit_status is a JS variable in data not set to OK  
    { //alert(..) here. At alert pause, error_msg_div shows AJAXed response data.
      //AJAXed response data has absolutely no reference to the DIV or the scroller 
      $("#error_msg_div").mCustomScrollbar({
        theme:"dark",
        scrollButtons:{
            enable:true
            },
        updateOnContentResize:true
      });  
    };
 },

来自 AJAX 响应的示例数据(从 firebug 复制)如下所示:

  <div class='err_no' style='left:0px;top:5px;'>1:</div><div style='left:22px;top:5px;' class='err_msg'>First name must have 2 to 20 alphabets only.</div>
  <div class='err_no' style='left:0px;top:17px;'>2:</div><div style='left:22px;top:17px;' class='err_msg'>Middle initial can only be a single uppercase alphabet.</div>

所以有什么问题?AJAX 响应正常。在警报中,可以看到 DIV 填充了数据。在那之后, $("#error_msg_div").mCustomScrollbar({... 将 div 空白。firebug 中没有显示 JS 错误消息。

我尝试使用静态数据使用滚动条,它工作正常。唯一的主要区别是在我的纯静态 HTML 中的使用,这里是在静态测试 HTML 文件中,滚动条被称为:

 (function($){
     $(window).load(function(){
        $("#xxxxxxxxscroll_div").mCustomScrollbar({
          theme:"dark",
          scrollButtons:{
            enable:true
          },
        updateOnContentResize:true
      });
    });
  })(jQuery);

我在这方面花了很多时间。我喜欢滚动条不要再放弃它了。一旦我弄清楚了这一点,我认为其余的功能集将很容易使用。一个很可能不相关的后续问题是,当我“销毁”滚动条时,Div 上的 mCustomScrollbar 方法仍然显示。这只是一个附带问题...我不是 JS 专家,但是当滚动文档指出该元素已恢复到其调用前状态时,我原以为这种方法会消失。正确的?

谢谢!我对这个论坛比较陌生。如果格式或细节措辞不当,请见谅。

4

0 回答 0