附:jquery.more.js插件内容

>웹 프론트엔드 >JS 튜토리얼 >jQuery .net을 사용하면 더 많은 콘텐츠를 탐색할 수 있습니다(적응된 PHP 버전)_jquery

jQuery .net을 사용하면 더 많은 콘텐츠를 탐색할 수 있습니다(적응된 PHP 버전)_jquery

WBOY
WBOY원래의
2016-05-16 17:39:011459검색

PHP 버전에서 수정됨, 원본 텍스트:
jQuery PHP 구현 더 많은 콘텐츠 찾아보기 http://www.helloweba.com/view-blog-130.html
.net에서의 구현은 여기에 기록됩니다
1. 먼저 데이터베이스 테이블 test를 생성하고 일부 테스트 데이터를 삽입합니다. :

코드 복사 코드는 다음과 같습니다. 다음:

go
존재하는 경우(name='test'인 sysobjects에서 * 선택)
drop table [test]
go
CREATE TABLE [test](
[id] [int] IDENTITY(1,1),
[작성자] [varchar](50),
[content] [varchar](2000),
[createOn] [datetime ]
)
declare @index int;
set @index = 1
while(@index < 1000)
begin
insert into test([author],[content ],[createOn])
값 ​​
('author' Cast(@index as varchar(4)),'content' Cast(@index as varchar(4)),DATEADD(DAY,@index ,getdate()))
set @index = @index 1
end
go

2.html 파일 만들기
코드 복사 코드는 다음과 같습니다.



< ;head>



<스크립트 유형 ="text/javascript">
$ (function () {
$('#more').more({ 'address': 'ajax/data.ashx' }) //여기 주소가 있습니다 백그라운드에서 요청
})


;


">







::더 많은 콘텐츠를 로드하려면 클릭하세요.:< /a>





3. 🎜>




코드 복사


코드는 다음과 같습니다.

<%@ WebHandler Language= "C#" Class="data" %>
System.Web 사용 공개 클래스 데이터 사용: IHttpHandler {
public void ProcessRequest(HttpContext 컨텍스트) {
////여기서 날짜 필드 createOn이 먼저 표시됩니다. 형식을 지정하지 않으면 다음과 유사한 형식이 생성됩니다. /Date(1310292162507)/
string sql = string.Format(" select id,author,content,convert(varchar(100), createOn, 120) createOn from ( select row_number () over (order by id) as rowNum,* from test) as t "
" where rowNum>{0 } 및 rowNum<={1}", 마지막, 마지막 금액);
System.Data.DataTable dt = db.ExecuteDataSet(System.Data.CommandType.Text,sql).Tables[0];

context.Response.Write(JSONHelper.DataTableToJSON(dt)); //json 형식 출력
}
public bool IsReusable {
get {
return false; }
}


 
附:jquery.more.js插件内容
复system代码代码如下:

(function( $ ){
var target = null;
var template = null;
var lock = false;
var 변수 = {
'last' : 0
}
var settings = {
'amount' : '10',
'address' : '',
'format' : 'json',
'템플릿' : '.single_item',
'트리거' : '.get_more',
'스크롤' : 'false',
'오프셋' : '100',
' spinner_code': ''
}

var 메소드 = {
init : function(options){
return this.each(function(){

if(options) ){
$.extend(settings, options);
}
template = $(this).children(settings.template).wrap('
').parent() ;
template.css('display','none')
$(this).append('
' settings.spinner_code '
')
$(this).children(settings.template).remove()
target = $(this)
if(settings.scroll == 'false'){
$(this). find(settings.trigger).bind('click.more',methods.get_data);
$(this).more('get_data')
}
else{
if($ (this).height() <= $(this).attr('scrollHeight')){
target.more('get_data',settings.amount*2);
}
$(this).bind('scroll.more',methods.check_scroll);
}
})
},
check_scroll : function(){
if((target.scrollTop() target.height() parseInt(settings.offset)) >= target .attr('scrollHeight') && lock == false){
target.more('get_data');
}
},
debug : function(){
var debug_string = '';
$.each(변수, 함수(k,v){
debug_string = k ' : ' v 'n';
})
alert(debug_string);
},
remove : function(){
target.children(settings.trigger).unbind('.more');
target.unbind('.more')
target.children(settings.trigger).remove();
},
add_elements : function(data){
//alert('요소 추가')

var root = target
// Alert(root.attr('id) '))
var counter = 0;
if(data){
$(data).each(function(){
counter
var t = template
$.each(this, function(key, value){
if(t.find('.' key)) t.find('.' key).text(value)
})
//t.attr('id', 'more_element_' (variables.last ))
if(settings.scroll == 'true'){
// root.append(t.html())
root.children('.more_loader_spinner').before (t.html())
}else{
// Alert('...')

root.children(settings.trigger).before(t.html())

}

root.children(settings.template ':last').attr('id', 'more_element_' ((variables.last ) 1))

} )


}
elsemethods.remove()
target.children('.more_loader_spinner').css('display','none');
if(counter < settings.amount)methods.remove()

},
get_data : function(){
// Alert('데이터 가져오기')
var ile;
잠금 = true;
target.children(".more_loader_spinner").css('display','block');
$(settings.trigger).css('display','none');
if(typeof(arguments[0]) == '숫자') ile=arguments[0];
else {
ile = settings.amount;
}

$.post(settings.address, {
last : Variable.last,
amount : ile
}, function(data){
$(settings .trigger).css('display','block')
methods.add_elements(data)
lock = false;
}, settings.format)

}
} ;
$.fn.more = 함수(메서드){
if(메서드[메서드])
반환 메서드[ 메서드 ].apply( this, Array.prototype.slice.call( 인수, 1 )) ;
else if(typeof method == 'object' || !method)
returnmethods.init.apply(this, 인수);
else $.error('메소드 '메서드'가 존재하지 않습니다!');

}
})(jQuery)
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.