2013-09-25 36 views
0

我試過的代碼是限制因素,當我點擊更多的加載另一個元素

jQuery(function($) { 
var visible =3; 
$('#sc li:gt('+(visible - 1)+')').hide();  
$('#more').click(function() {  
    var Index = $('#sc').children('li:visible:last').index(), 
    nextIndex = currentIndex + (visible + 1); 
    $('#sc li').hide();   
    $('ul li:lt(' + nextIndex + '):gt(' + Index + ')').show();   
    });  
}); 

我想限制的元素,但是當我點擊更多的什麼都不會發生。

+1

創造一個小提琴請 – SarathSprakash

+0

當我點擊更多,它不能加載下一個元素數據庫 – user2779464

回答

1

主要問題是您正在定義Index變量,並在下一行使用currentIndex,這當然會引發錯誤,否則您的代碼應該工作。但是,您可以緩存這些元素並使用.slice()方法來提高代碼的效率。

jQuery(function ($) { 
    var visible = 3, 
      $li = $('#sc li'); 

    // hiding the elements 
    $li.slice(visible).hide(); 

    $('#more').on('click', function() { 
     // getting index of the last visible element 
     var ci = $li.filter(':visible:last').index(); 
     // slicing and showing next should-be-visible elements 
     $li.hide().slice(++ci, ci+visible).show(); 
    }); 
}); 

http://jsfiddle.net/xRPQj/

+0

即時讀取數據, – user2779464

+0

@ user2779464好了,所以...?這是否意味着你想延遲加載數據?這與顯示/隱藏元素有什麼關係? – undefined

+0

當我點擊更多的功能。它不能加載另一個元素 – user2779464

相關問題