Jquery实现图片左右自动滚动示例_jquery

复制代码 代码如下:

<!DOCTYPE HTML>
<html>
<head>
<title>基于jQuery的控制左右滚动效果_自动滚动版本</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<style>

body{font-size:0.8em;letter-spacing:1px;font-family:"微软雅黑"; line-height:1.8em}
div,ul,li,ol,img{margin:0;padding:0}
h1{font-size:1em; font-weight:normal;}
h1 a{background:#CFF; padding:2px 3px; text-decoration:none;}
h1 a:hover{background:#eee; text-decoration:underline}
h2,h3{font-size:1em; font-weight:normal; color:#a40000; margin:1em auto; position:relative}
h3{color:#888; font-weight:bold}
ul,li,ol{list-style:none}

.ibox{width:850px; height:210px; background:#ddd; margin:1em auto; border:1em solid #ddd; position:relative; overflow:hidden}
.ibox .showbox{position:absolute;left:0;width:2550px; height:170px; background:#fff}
.ibox .showbox ul li{float:left;margin:7px}
.ibox .showbox ul li img{width:150px; height:150px; border:3px solid #a40000}
.ibox span{position:absolute;padding:2px 5px; background:#fff; cursor:pointer;}
.ibox span.pre{left:10px; bottom:0}
.ibox span.next{right:10px; bottom:0}
.ibox span.num{right:45%; bottom:0; background:#ddd;line-height:18px;}
.ibox span.num li{display:inline;margin:0 5px; padding:1px 5px; line-height:18px}
.ibox span.num .numcur{background:#a40000; color:#fff}
</style>
<script>
$(function(){
//@Mr.Think***变量
var $cur = 1;//初始化显示的版面
var $i = 5;//每版显示数
var $len = $('.showbox>ul>li').length;//计算列表总长度(个数)
var $pages = Math.ceil($len / $i);//计算展示版面数量
var $w = $('.ibox').width();//取得展示区外围宽度
var $showbox = $('.showbox');
var $num = $('span.num li')
var $pre = $('span.pre')
var $next = $('span.next');
var $autoFun;
//@Mr.Think***调用自动滚动
autoSlide();
//@Mr.Think***向前滚动
$pre.click(function(){
if (!$showbox.is(':animated')) { //判断展示区是否动画
if ($cur == 1) { //在第一个版面时,再向前滚动到最后一个版面
$showbox.animate({
left: '-=' + $w * ($pages - 1)
}, 500); //改变left值,切换显示版面,500(ms)为滚动时间,下同
$cur = $pages; //初始化版面为最后一个版面
}
else {
$showbox.animate({
left: '+=' + $w
}, 500); //改变left值,切换显示版面
$cur--; //版面累减
}
$num.eq($cur - 1).addClass('numcur').siblings().removeClass('numcur'); //为对应的版面数字加上高亮样式,并移除同级元素的高亮样式
}
});
//@Mr.Think***向后滚动
$next.click(function(){
if (!$showbox.is(':animated')) { //判断展示区是否动画
if ($cur == $pages) { //在最后一个版面时,再向后滚动到第一个版面
$showbox.animate({
left: 0
}, 500); //改变left值,切换显示版面,500(ms)为滚动时间,下同
$cur = 1; //初始化版面为第一个版面
}
else {
$showbox.animate({
left: '-=' + $w
}, 500);//改变left值,切换显示版面
$cur++; //版面数累加
}
$num.eq($cur - 1).addClass('numcur').siblings().removeClass('numcur'); //为对应的版面数字加上高亮样式,并移除同级元素的高亮样式
}
});
//@Mr.Think***数字点击事件
$num.click(function(){
if (!$showbox.is(':animated')) { //判断展示区是否动画
var $index = $num.index(this); //索引出当前点击在列表中的位置值
$showbox.animate({
left: '-' + ($w * $index)
}, 500); //改变left值,切换显示版面,500(ms)为滚动时间
$cur = $index + 1; //初始化版面值,这一句可避免当滚动到第三版时,点击向后按钮,出面空白版.index()取值是从0开始的,故加1
$(this).addClass('numcur').siblings().removeClass('numcur'); //为当前点击加上高亮样式,并移除同级元素的高亮样式
}
});
//@Mr.Think***停止滚动
clearFun($showbox);
clearFun($pre);
clearFun($next);
clearFun($num);
//@Mr.Think***事件划入时停止自动滚动
function clearFun(elem){
elem.hover(function(){
clearAuto();
}, function(){
autoSlide();
});
}
//@Mr.Think***自动滚动
function autoSlide(){
$next.trigger('click');
$autoFun = setTimeout(autoSlide, 4000);//此处不可使用setInterval,setInterval是重复执行传入函数,这会引起第二次划入时停止失效
}
//@Mr.Think***清除自动滚动
function clearAuto(){
clearTimeout($autoFun);
}
});
</script>
</head>

<body>
<div class="ibox">
<div class="showbox">
<ul>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/f8a9dd53720bf31b5917915e8222c27370a3681c_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/68e9a7a8476e26a1022fa5e39ccdda669a5d4f08_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/20417dfc945bae6c720a660625e9652a154c2c94_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/f4a9f29299f3dba6e7af0ac3c5aff93e01f874d3_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/ca6f0c9ac0c6e3bfce827cd92833e1db620b6377_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/809fcfbb8a1f58d1d47a760fd4283556cce201ef_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg alt="demo" title="demo" /></li>
<li><img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/49d6ae8901500f473a2e3e58e5b5ddc0e788bc9d_m.jpg alt="demo" title="demo" /></li>
</ul>
</div>
<span class="pre">«向左滚动</span>
<span class="next">向右滚动»</span>

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

时间: 2024-07-28 17:36:15

Jquery实现图片左右自动滚动示例_jquery的相关文章

基于jQuery的图片左右无缝滚动插件_jquery

在线演示:http://demo.jb51.net/js/2012/myslideLeftRight/打包下载:http://www.jb51.net/jiaoben/44973.html核心代码: 复制代码 代码如下: (function($){ $.fn.extend({ "slidelf":function(value){ value = $.extend({ "prev":"", "next":""

jquery 图片文本自动滚动插件

  <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3c.org/tr/1999/rec-html401-19991224/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jquery 图片文本自动滚动插件

jquery实现图片左右间隔滚动特效(可自动播放)_jquery

复制代码 代码如下: <!DOCTYPE html > <html> <head> <meta content="text/html; charset=utf-8" /> <title>图片左右间隔滚动Jquery特效</title> <style type="text/css"> *{ margin:0px; padding:0px; font-size:12px;} a{ tex

jQuery打印图片pdf、txt示例代码_jquery

html加如下代码 <div style="display:none"> <div id="to_print"></div> <input type="button" id="print_button" value="Print" onclick="document.getElementById('FILEtoPrint').focus(); docume

jQuery实现图片文字淡入淡出效果_jquery

本实例主要讲解了jquery仿新浪微博图片文字列表上下淡进淡出间歇上下滚动效果,分享给大家供大家参考,具体内容如下 1.效果及功能说明 仿新浪微博图片文字列表上下淡进淡出间歇上下滚动 2.实现原理 首先要设定div内只能显示4个图片那么多出来的图片会自动隐藏然后在给图片添加一个动画的事件让他们可以滚动的播放出来上下滚动效果播放就是li标签里面的内容图片和文字把每一个li看成一个整体在滚动播放的时候进入div内的显示出来在最后离开div的时候隐藏在给整个动画效果设定一个时间就可以完整的运行. 3.

jQuery实现图片文字无缝滚动效果

你知道 jQuery,你也知道图片滚动的效果,但是你知道啥叫无缝滚动不?无缝滚动,就是无缝的滚动!换句话说,无缝滚动就是,图片或者文字下一张下一张地滚动,当滚动到屁股的时候就看到头了,反过来,当滚动到头的时候又能看到屁股了.还是看 DEMO 吧,或许更好理解一些.如你所见,当作为一排图片展示的时候,无缝滚动可以让人有无尽的感觉,页面一下子就充实了. 因为我也不是刻意去写这个 jQuery 的无缝滚动,所以 JS 也没封装过,只提供了几个基本的参数作修改,只能仅作参考.  代码如下 复制代码 <!

jquery实现图片左右切换的方法_jquery

本文实例讲述了jquery实现图片左右切换的方法.分享给大家供大家参考.具体实现方法如下: <!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"> &

jquery css实现邮箱自动补全_jquery

 今天在公司做一个电子商务网站的注册会员时,要求用户在电子邮箱文本框中输入时,给与热点提示常用的电子邮箱,帮助用户选择,提高体验效果.下面是用Jquery+css实现的邮箱自动补全,供大家参考和学习. HTML代码:emailAutoComple.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>邮箱自动补全&

jQuery实现图片轮播效果代码_jquery

整理以前用jQuery实现的图片轮播效果.  1. 不做操作时,自动轮播  2. 鼠标悬浮在图片上时,停止自动轮播,隐藏在图片左右的箭头会显示出来  3. 手动轮播1:鼠标指向图片底部的小标按钮,可以切换对应的图片  4. 手动轮播2:点击左右箭头也可以切换图片 效果图:(PS:用软件捕捉的,不太会弄,感觉图片都失真了) 下面是代码区域: **inde.html部分代码** <div class="box"> <ul class="img">