用按钮控制图片左右滚动
2013-10-22 10:08
489 查看
用按钮控制图片左右滚动
用按钮控制图片左右滚动,默认不会滚动的演示 XML/HTML Code<div class="layout">
<div class="hotPic">
<div class="JQ-slide">
<div class="JQ-slide-nav"><a class="prev" href="javascript:void(0);">‹</a><a class="next" href="javascript:void(0);">›</a></div>
<div class="wrap">
<ul class="JQ-slide-content imgList">
<li>
<a href="#" class="img"><img src="../erlianhaote.png" width="140" height="100" /></a>
<a href="#" class="txt">二连浩特</a>
</li>
<li>
<a href="#" class="img"><img src="../dalian.jpg" width="140" height="100" /></a>
<a href="#" class="txt">大连</a>
</li>
<li>
<a href="#" class="img"><img src="../sanya.jpg" width="140" height="100" /></a>
<a href="#" class="txt">三亚</a>
</li>
<li>
<a href="#" class="img"><img src="../dandong.png" width="140" height="100" /></a>
<a href="#" class="txt">丹东</a>
</li>
<li>
<a href="#" class="img"><img src="../zhoushan.jpg" width="140" height="100" /></a>
<a href="#" class="txt">中山</a>
</li>
<li>
<a href="http://www.freejs.net" class="img"><img src="../freejs.jpg" width="140" height="100" /></a>
<a href="#" class="txt">freejs</a>
</li>
<li>
<a href="#" class="img"><img src="../mohe.png" width="140" height="100" /></a>
<a href="#" class="txt">漠河</a>
</li>
</ul>
</div>
</div>
</div>
</div>
JavaScript Code<script type="text/javascript">
$(function (){
/* 用按钮控制图片左右滚动 */
$(".hotPic .JQ-slide").Slide({
effect:"scroolLoop",
autoPlay:false,
speed:"normal",
timer:3000,
steps:1
});
});
</script>
除了jq库以外,还用了slide.js JavaScript Code/**
* @author ͷ
*/
(function($){
$.fn.Slide=function(options){
var opts = $.extend({},$.fn.Slide.deflunt,options);
var index=1;
var targetLi = $("." + opts.claNav + " li", $(this));//Ŀ
var clickNext = $("." + opts.claNav + " .next", $(this));//һť
var clickPrev = $("." + opts.claNav + " .prev", $(this));//һť
var ContentBox = $("." + opts.claCon , $(this));//Ķ
var ContentBoxNum=ContentBox.children().size();//Ԫظ
var slideH=ContentBox.children().first().height();//Ԫظ߶ȣ൱ڹĸ߶
var slideW=ContentBox.children().first().width();//Ԫؿȣ൱ڹĿ
var autoPlay;
var slideWH;
if(opts.effect=="scroolY"||opts.effect=="scroolTxt"){
slideWH=slideH;
}else if(opts.effect=="scroolX"||opts.effect=="scroolLoop"){
ContentBox.css("width",ContentBoxNum*slideW);
slideWH=slideW;
}else if(opts.effect=="fade"){
ContentBox.children().first().css("z-index","1");
}
return this.each(function() {
var $this=$(this);
//
var doPlay=function(){
$.fn.Slide.effect[opts.effect](ContentBox, targetLi, index, slideWH, opts);
index++;
if (index*opts.steps >= ContentBoxNum) {
index = 0;
}
};
clickNext.click(function(event){
$.fn.Slide.effectLoop.scroolLeft(ContentBox, targetLi, index, slideWH, opts,function(){
for(var i=0;i<opts.steps;i++){
ContentBox.find("li:first",$this).appendTo(ContentBox);
}
ContentBox.css({"left":"0"});
});
event.preventDefault();
});
clickPrev.click(function(event){
for(var i=0;i<opts.steps;i++){
ContentBox.find("li:last").prependTo(ContentBox);
}
ContentBox.css({"left":-index*opts.steps*slideW});
$.fn.Slide.effectLoop.scroolRight(ContentBox, targetLi, index, slideWH, opts);
event.preventDefault();
});
//Զ
if (opts.autoPlay) {
autoPlay = setInterval(doPlay, opts.timer);
ContentBox.hover(function(){
if(autoPlay){
clearInterval(autoPlay);
}
},function(){
if(autoPlay){
clearInterval(autoPlay);
}
autoPlay=setInterval(doPlay, opts.timer);
});
}
//Ŀ¼
targetLi.hover(function(){
if(autoPlay){
clearInterval(autoPlay);
}
index=targetLi.index(this);
window.setTimeout(function(){$.fn.Slide.effect[opts.effect](ContentBox, targetLi, index, slideWH, opts);},200);
},function(){
if(autoPlay){
clearInterval(autoPlay);
}
autoPlay = setInterval(doPlay, opts.timer);
});
});
};
$.fn.Slide.deflunt={
effect : "scroolY",
autoPlay:true,
speed : "normal",
timer : 1000,
defIndex : 0,
claNav:"JQ-slide-nav",
claCon:"JQ-slide-content",
steps:1
};
$.fn.Slide.effectLoop={
scroolLeft:function(contentObj,navObj,i,slideW,opts,callback){
contentObj.animate({"left":-i*opts.steps*slideW},opts.speed,callback);
if (navObj) {
navObj.eq(i).addClass("on").siblings().removeClass("on");
}
},
scroolRight:function(contentObj,navObj,i,slideW,opts,callback){
contentObj.stop().animate({"left":0},opts.speed,callback);
}
}
$.fn.Slide.effect={
fade:function(contentObj,navObj,i,slideW,opts){
contentObj.children().eq(i).stop().animate({opacity:1},opts.speed).css({"z-index": "1"}).siblings().animate({opacity: 0},opts.speed).css({"z-index":"0"});
navObj.eq(i).addClass("on").siblings().removeClass("on");
},
scroolTxt:function(contentObj,undefined,i,slideH,opts){
//alert(i*opts.steps*slideH);
contentObj.animate({"margin-top":-opts.steps*slideH},opts.speed,function(){
for( var j=0;j<opts.steps;j++){
contentObj.find("li:first").appendTo(contentObj);
}
contentObj.css({"margin-top":"0"});
});
},
scroolX:function(contentObj,navObj,i,slideW,opts,callback){
contentObj.stop().animate({"left":-i*opts.steps*slideW},opts.speed,callback);
if (navObj) {
navObj.eq(i).addClass("on").siblings().removeClass("on");
}
},
scroolY:function(contentObj,navObj,i,slideH,opts){
contentObj.stop().animate({"top":-i*opts.steps*slideH},opts.speed);
if (navObj) {
navObj.eq(i).addClass("on").siblings().removeClass("on");
}
}
};
})(jQuery);
原文地址:http://www.freejs.net/article_jquerytupiantexiao_62.html
相关文章推荐
- JQUERY JFLOW图片滚动插件左右按钮控制图片内容滑动切换
- 2个按钮控制的左右图片滚动特效代码
- Android 自定义 HorizontalScrollView 实现图片左右滚动按钮控制
- jquery图片滚动带左右按钮控制焦点图片切换滚动
- js 图片预览效果,左右滚动,有两个按钮控制
- jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
- jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动
- jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动
- jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
- 图片滚动效果+按钮控制左右滚动
- JQuery左右按钮控制图片 文字向上滚动自定义插件
- jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动
- 点击左右按钮图片横向滚动jquery
- jquery控制左右箭头滚动图片列表的实例
- 带按钮可左右滚动的图片展示特效
- 基于jQuery的图片展示(横向滚动,可左右控制)
- jquery.flexslider.js带左右箭头且带按钮可滚动的图片插件
- 【实践】纯jquery实现图片滑动无缝轮播,带左右按钮及控制按钮
- jquery图片滚动插件(可自定义数字样式和左右点击按钮)
- jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮