Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何对多个元素重用此代码?_Jquery - Fatal编程技术网

Jquery 如何对多个元素重用此代码?

Jquery 如何对多个元素重用此代码?,jquery,Jquery,我有一个分页数据的函数。我在同一页上有两个表需要分页。如果可能的话,我想对这两个表重用这个函数。我尝试对这两个表都使用脚本,但是当我第二次调用脚本时,第一次调用的数据似乎被删除了,第二次调用占了上风 为什么会这样 $.fn.scroller = function(options) { var settings = { ele : '', limit : 10, offset: 0, error : 'No More Posts!',

我有一个分页数据的函数。我在同一页上有两个表需要分页。如果可能的话,我想对这两个表重用这个函数。我尝试对这两个表都使用脚本,但是当我第二次调用脚本时,第一次调用的数据似乎被删除了,第二次调用占了上风

为什么会这样

  $.fn.scroller = function(options) {
    var settings = {
      ele   : '',
      limit : 10,
      offset: 0,
      error : 'No More Posts!',
      delay : 500,
      scroll: true
    }

    if(options) {
      $.extend(settings, options);
    }

    return this.each(function() {
      $this      = $(this);
      $settings  = settings;
      var offset = $settings.offset;


      if($settings.scroll == true) $initmessage = 'Scroll for more or click here';
      else $initmessage = 'Click for more';
      $this.append('<tbody id="adi"></tbody><tfoot><tr><td id="more" colspan="2">'+$initmessage+'</tr></tr></tfoot>');

      function getData() {
        $.post('test.asp',{
          ele:$settings.ele,
          limit:$settings.limit,
          offset:offset,
        },
        function(data){
          $this.find('#more').html($initmessage);
          if(data == ""){
            $this.find('#more').html($settings.error);
          }else{
            offset = offset + $settings.limit;
            $this.find('#adi').append(data);
          }
        });
      }
      getData();

      if($settings.scroll == true){
        $(window).scroll(function(){
          if($(window).scrollTop() + $(window).height() > $this.height()){
            $this.find('#more').html('Loading Posts');
            setTimeout(function() {
              getData();
            }, $settings.delay);
          }
        });
      }
    });
  }
编辑:

这是实际的HTML

  <table id="test1">
    <tbody>

    </tbody>
  </table>

以及:



可以发布一个表HTML的例子吗?我知道它不回答你的问题,但是你可以考虑签出,这是一个非常酷的表格式化程序。关于你的问题,你说“第二桌占上风”是什么意思?谢谢,查尔斯。我过去使用过数据表,非常喜欢它。我想我需要的东西有点太多了。我在上面所说的基本上是,我发送到
滚动条
函数的第一个调用(#test1)数据被清除,或者被
test2
覆盖。因此,只有test2表填充了数据。如果我一字不差地复制JQuery代码,并在刚刚创建的第二个文件中重命名该函数,我就可以用数据填充这两个表。我只是不喜欢那样做。必须有更好的方法,因此,在上述情况下,
#test1
从未填充,但
#test2
填充?不,查尔斯,我还没有确认。我真的是JQuery的高手。如果你告诉我要找什么,我就去看看。另外,为了澄清,如果我注释掉插件的第二个调用(test2),test1将填充。真奇怪。
  <table id="test1">
    <tbody>

    </tbody>
  </table>
  <table id="test2">
    <tbody>

    </tbody>
  </table>