Jquery图片滚动,幻灯片-------------封装二

赢友网络 2013-04-05 08:29:20
加精
已经封装好了,主要修改文档加载中传入的类名即可。方便大家使用,以后经常封装一些好的插件给大家用,可以定制一些东西的那种(比如,速度,样式,等等)。


以下第一个是自己封装了,第二个是在csdn一个论坛友的基础上修改封装了。原文(也是我发布的)http://bbs.csdn.net/topics/390414000?page=1#post-394110448

1、图片滚动

<!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>
<title></title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
Xhun(".a"); //----------------------只需要修改 ”.a" (就是最大的div的class值这里就行---------------------
});

function Xhun(_box) {
var box_frame = _box + " div ul";
var box_div = _box + " div";
$(_box).find("ul").wrap("<div></div>"); //添加一个div,来控制偏移量
$(box_div).append($(box_frame).clone()); //克隆一个ul并添加到div中,为了实现无缝循环
$(box_div).append($(box_frame).clone()); //克隆一个ul并添加到div中,为了实现无缝循环
var li_size = $(_box).find("li").size(); //获取li的个数
var li_width = $(box_frame).children("li").width(); //获取li的宽度
var box_div_width = $(box_div).width(li_size * li_width * 5); //设置div的宽度
$(box_frame).css("float", "left");

var dd = setInterval(gd, 30);
function gd() {
var position = $(_box).scrollLeft(); //scrollLeft()是获取对象的水平偏移量
$(_box).scrollLeft(position + 1);
if (position >= $(box_frame).width()) { $(_box).scrollLeft(0); } //判断位移是否大于ul的总长度
}
$(_box).mouseleave(function () {
dd = setInterval(gd, 30);
}).mouseenter(function () {
clearInterval(dd);
});
}

</script>

<style type="text/css">
* { margin: 0; padding: 0; }
ul { list-style: none; }
li { float: left; margin-left: 10px; width: 100px; }
img { width: 100px; height: 100px; }
.a { width: 400px; margin: 0 auto; overflow: hidden; height: 100px; }
</style>
</head>
<body>
<div class="a">
<ul>
<li><a href="#">
<img src="Wife1.jpg" alt="img" title="img" /></a></li>
<li><a href="#">
<img src="Wife2.jpg" alt="img" title="img" /></a></li>

</ul>
</div>
</body>
</html>


2、幻灯片

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>幻灯片切换</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
slide(".frame"); //----------------------只需要修改 ”.frame" (就是最大的div的class值这里就行---------------------
});

function slide(cls) {
$(cls).find("ul").wrap("<div></div>");
$(cls+" div").attr("class","iframe");
var li = $(cls).find("li").size();//统计多少张图片
var li_width = $(cls).find("li").width(); //获取li的宽度
$(cls + " div").children("ul").width(li_width * li);//设置宽度,使图片排成一排
var s = "<ul class='button'>";//生成li的按钮
for (var i = 0; i < li; i++) {
s += "<li>" + (i + 1) + "</li>";
}
s += "</ul>";
$(s).appendTo($(cls));//生成按钮结束,并添加到最大div里面
var _i = 0;//当前的编号
$(cls).find(".button li").each(function (i) {
//生成按钮点击事件
$(this).click(function () {
_i = i;
$(this).attr("class", "on").siblings().removeAttr("class");//设置class,没必要再多加一个off
$(cls + " div").animate({ scrollLeft: i * li_width }, "slow");//图片移动
});
}).eq(0).click();
function tt() {//定时器函数
_i++;
_i = _i % li;
$(cls).find(".button li").eq(_i).click();//自动点击切换图片
}
var t = setInterval(tt, 3000);//定时器
$(cls).hover(function () {
clearInterval(t);//鼠标经过清除定时器,离开时又触发
}, function () {
t = setInterval(tt, 3000);
})
}
</script>
<style type="text/css">
* { margin: 0; padding: 0; }
li, ul { list-style: none; margin: 0; padding: 0; }
.frame { width: 280px; height: 280px; position: relative; margin: 0 auto; } /*这里需要修改最大div的宽度和高度*/
.iframe { overflow: hidden; width: 280px; height: 280px; } /*这里需要修改该div的宽度和高度*/
.iframe ul li { float: left; width: 280px; } /*这里需要修改li的宽度*/
.button { position: absolute; bottom: 15px; right: 15px; z-index: 300; }
.button li { float: left; cursor: pointer; width: 17px; height: 17px; line-height: 17px; text-align: center; margin-right: 5px; border-radius: 7px; color: #fff; background: #000; }
.button .on { color: #000; background: #fff; }
</style>
</head>
<body>

<!-- 这里要按照这样的格式来写 -->

<div class="frame">
<ul>
<li><a href="#">
<img src="Wife1.jpg" width="280" height="280" alt="img" /></a></li>
<li><a href="#">
<img src="Wife2.jpg" width="280" height="280" alt="img" /></a></li>
<li><a href="#">
<img src="Wife3.jpg" width="280" height="280" alt="img" /></a></li>
<li><a href="#">
<img src="Wife4.jpg" width="280" height="280" alt="img" /></a></li>
<li><a href="#">
<img src="Wife5.jpg" width="280" height="280" alt="img" /></a></li>
</ul>
</div>
</body>
</html>

...全文
14963 116 打赏 收藏 举报
写回复
116 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qq_16074215 2015-12-11
先顶,我学习学习
  • 打赏
  • 举报
回复
moony_wyp 2015-10-11
感谢楼主分享!
  • 打赏
  • 举报
回复
weixin_29654121 2015-07-29
  • 打赏
  • 举报
回复
wangsufu77 2014-01-09
  • 打赏
  • 举报
回复
csgogogo_471 2013-09-07
谢谢分享,很好使收藏了
  • 打赏
  • 举报
回复
host_CSND 2013-07-23
谢谢楼主,好东西
  • 打赏
  • 举报
回复
qiaodansb 2013-05-05
挺不错的,楼主挺牛的
  • 打赏
  • 举报
回复
文心寒梅 2013-05-02
  • 打赏
  • 举报
回复
aizenAlls 2013-04-26
很不错的工具,谢谢分享
  • 打赏
  • 举报
回复
gqchen1981 2013-04-25
谢谢分享。mark.
  • 打赏
  • 举报
回复
WSD_WAN 2013-04-24
很好 很有用 谢
  • 打赏
  • 举报
回复
Jo_Liberty 2013-04-23
谢谢楼主分享!
  • 打赏
  • 举报
回复
自由_ 2013-04-22
太好了,感谢楼主分享
  • 打赏
  • 举报
回复
qq45996230 2013-04-21
很好,还未用,支持一下
  • 打赏
  • 举报
回复
天空的泪 2013-04-19
不错 好东西
  • 打赏
  • 举报
回复
lj0226 2013-04-18
  • 打赏
  • 举报
回复
潇洒王子 2013-04-15
确实需要个预览效果。
  • 打赏
  • 举报
回复
游走的菜鸟 2013-04-13
真酷,可惜自己水平不高,看得有点吃力!
  • 打赏
  • 举报
回复
lhw7791086 2013-04-12
  • 打赏
  • 举报
回复
qq19013696 2013-04-12
放到HTML文件中了,只会显示图片,没看到效果。。。
  • 打赏
  • 举报
回复
加载更多回复(83)
相关推荐
发帖
JavaScript

8.6w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2013-04-05 08:29
社区公告
暂无公告