实现鼠标点击页面上下滑动的效果
(function($) {
$.fn.lyhucTouchPad = function(options) {
//鼠标X位置
var element=$(this);
var draging = false;
var touchPageWrapper=$("#" + element[0].id + "Wrapper");
var touchPageContent=$("#"+element[0].id+" ."+element[0].id+"Content");
var marginleft=0;//父面板位置
var touchPageContentHeight=touchPageContent.height();
var startTop,startTop;
var startX,startY;
var point={X:0,Y:0};
var currentIndex=0;
var direction=0;
var pageCount=touchPageContent.size();
touchPageWrapper.height((pageCount+1)*touchPageContentHeight);
var defaults = {
align:'center',
pager:'#pager',
showmousePoint:true
};
var options = $.extend(defaults, options);
//初始化
(function init(){
if(options.align=='center')
{
marginleft=($(window).width()-element.width())/2;
element.css("left",marginleft);
$(options.pager).css("width",marginleft);
}
if(options.align=='right')element.css("right",0);
startLeft=0;
for(var i=0;i<pageCount;i++)
{
if(i==0)
$(options.pager+">div").before("<a href='#' class='current'> </a>");
else
$(options.pager+">div").before("<a href='#' class='point'> </a>");
}
})();
clearEvent = function(){
}
startDrag = function(event)
{
var offset = $(this).offset();
startTop = offset.top;
startY = event.pageY;
$(this)
.stop(true, false)
.mousemove(moveDrag)
.css('cursor','move');
;
draging=true;
}
/*
* div随鼠标移动,由startDrag开启,由enddrag结束
*/
var moveDrag = function(event){
var offset = $(this).offset();
var movepx=event.pageY-startY;
endTop= startTop+movepx;
direction=0;
if(movepx>0 && movepx>=(touchPageContentHeight))
direction=1;
else if (movepx<0 && Math.abs(movepx)>=(touchPageContentHeight))
direction=-1; /*+" direction="+direction*/
if(options.showmousePoint)$("#mousePoint").text("X="+point.X+" Y="+point.Y+ " offset.top="+movepx);
$(this).css("top", endTop-marginleft );
return true;
}
var endDrag = function(event){
if(draging){
$(touchPageWrapper)
.unbind("mousemove",moveDrag)
.css('cursor','auto');
if(direction==1)
currentIndex++
else if(direction==-1)
currentIndex--;
if(currentIndex==1 && (direction==1)) currentIndex=0;
if((Math.abs(currentIndex)+1)>=pageCount && (direction==-1)){currentIndex=(-pageCount+1);}
$(touchPageWrapper).animate({ top: currentIndex*touchPageContentHeight }, "slow");
var currentA=$(options.pager+" a");
$(currentA).attr("class","");
$(currentA).eq(Math.abs(currentIndex)).attr("class","current");
direction=0;
draging=false;
}
}
//初始化事件
return this.each(function(){
var obj = $(this);
obj.bind("mousemove",function(e){
point.X = e.pageX;
point.Y = e.pageY;
}).bind("mouseup",endDrag);
$(touchPageWrapper).bind("mousedown",startDrag)
.bind("click",clearEvent)
.bind("mouseup",endDrag).bind("mouseout",endDrag);
});
};
})(jQuery);
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="css/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<script type="text/javascript" src="js/jquery.ui.touch.js"></script>
<script type="text/javascript">
$(function(){
$('#slidePage').lyhucTouchPad({align:'center',pager:'#pager',showmousePoint:false});
});
</script>
</head>
<body onselectstart="return false" onselect="return false" oncontextmenu="return false"
ondragstart="return false" onbeforecopy="return false" oncopy=document.selection.empty() onselect=document.selection.empty()
>
<div id="mousePoint"></div>
<div class="pageWrapper">
<div align="center" id="slidePage">
<div id="slidePageWrapper">
<div class="slidePageContent bgcolor1" style="background-image:url(img/nr4a.png)">
</div>
<div class="slidePageContent bgcolor2" style="background-image:url(img/nr4b.png)">
</div>
<div class="slidePageContent bgcolor3" style="background-image:url(img/nr4b.png)">
</div>
<div class="slidePageContent bgcolor4" style="background-image:url(img/nr4a.png)">
</div>
</div>
</div>
<div id="pager"><div></div></div>
</div>
</body>
</html>
上面JS实现的是div翻页一样的效果,我想要的是像手机网页无缝的效果
求各位大神指导