jQuery实现图片与文字描述左右滑动自动切换的方法


Posted in Javascript onJuly 27, 2015

本文实例讲述了jQuery实现图片与文字描述左右滑动自动切换的方法。分享给大家供大家参考。具体如下:

这里使用jQuery制作CSS左右图片无缝滚动自动切换的焦点图JS特效。一边飞出一边变淡的效果非常漂亮,带小按钮。

效果图如下:

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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="zh-cn" />
<title>JQUERY图片切换特效带标题和描述纯JS CSS打造 - </title>
<style type="text/css">
/* YUI reset */
* {margin:0; padding:0;}
/* body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin:0;padding:0;} */
table {border-collapse:collapse;border-spacing:0;}
fieldset,img { border:0;}
address,caption,cite,code,dfn,em,strong,th,var {font-style:normal;font-weight:normal;}
ol,ul,li {list-style:none;}
caption,th {text-align:left;}
h1,h2,h3,h4,h5,h6 {font-size:100%;font-weight:normal;}
q:before,q:after {content:'';}
abbr,acronym { border:0;}
/* my */
.clearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}
.clearfix {zoom:1;}
body {color:#333; font-size:12px; font-family:Verdana,Arial,Helvetica,sans-serif;}
a {text-decoration:none; color:#333;}
a:hover {text-decoration:underline;}
.focus {width:600px; height:250px; background:#eee; margin:10px auto; position:relative; overflow:hidden;}
.focus ul {}
.focus li {width:550px; height:200px; padding:25px; position:absolute; left:600px; top:0;}
.focus li h5, .focus li p, .focus li a.button {float:left; position:relative;}
.focus li h5 {width:300px; font-size:22px; font-family:"Microsoft YaHei";}
.focus li p {width:300px; line-height:22px; font-size:14px; margin:1em 0;}
.focus li a.button {width:100px; height:30px; background:#333; cursor:pointer; display:none;}
.focus li a.button:hover {background:#666;}
.focus li div.imgBox {float:right; width:200px; height:200px; position:relative; background:#dddddd;}
.focus li div.imgBox img {width:200px; height:200px;}
.focus .btn {position:absolute; width:600px; height:6px; padding:10px; text-align:center; left:0; bottom:0;}
.focus .btn span {display:inline-block; width:10px; height:6px; background:#999; margin:0 3px;}
.focus .btn span.on {background:#000;}
</style>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
 var len = $(".focus ul li").length;
 var width = 600; //整体宽度,根据此计算偏移量
 var indent = 50; //标题隐藏时往回走的一小段长度
 var index = 0;
 var picTimer;
 var btn = "<div class='btn'>";
 for(var i = 0; i < len; i++) {
 btn += "<span></span>";
 }
 btn += "</div>";
 $(".focus").append(btn);
 $(".focus .btn span").mouseenter(function() {
 index = $(".focus .btn span").index($(this));
 play(index);
 }).eq(0).trigger("mouseenter");
 $(".focus").hover(function() {
 clearInterval(picTimer);
 },function() {
 picTimer = setInterval(function() {
  play(index);
  index++;
  if(index == len) {index = 0;}
 },5000);
 }).trigger("mouseleave");
 function play(index) {
 var $now = $(".focus ul li.on");
 if($now.length > 0) {
  $now.find("h5").stop(true,true).animate({left:"-" + (width - indent) + "px"},400,function() {
  $(this).animate({left:"-"+ (2*width) +"px"},400);
  });
  $now.find("a.button").stop(true,true).fadeTo(400,0);
  var hideDelay = setTimeout(function() {
  $now.find("p").stop(true,true).animate({left:"-" + (width - indent) + "px"},400,function() {
   $(this).animate({left:"-"+ (2*width) +"px"},400);
   $now.find("div.imgBox").stop(true,true).animate({left:"-"+ (2*width) +"px"},400);
  });
  },200);
  var showDelayA = setTimeout(function() {
  show(index);
  },700);
 } else {
  show(index);
 }
 }
 function show(index) {
 var $next = $(".focus ul li").eq(index);
 $next.find("h5").css({left:"0px"});
 $next.find("p").css({left:"0px"});
 $next.find("a.button").css({left:"0px"});
 $next.find("div.imgBox").css({left:"0px"});
 $next.find("h5").stop(true,true).animate({left:"-"+ width +"px"},400);
 var showDelayB = setTimeout(function() {
  $next.find("div.imgBox").stop(true,true).animate({left:"-"+ width +"px"},300);
  $next.find("p").stop(true,true).animate({left:"-"+ width +"px"},300,function() {
  $next.find("a.button").stop(true,true).animate({left:"-"+ width +"px"},300,function() {$(this).fadeTo(400,1);});
  });
 },300); 
 $(".focus .btn span").removeClass("on").eq(index).addClass("on");
 $(".focus ul li").removeClass("on").eq(index).addClass("on");
 }
});
</script>
</head>
<body>
<div class="focus">
<ul>
 <li class="clearfix">
 <div class="imgBox"><img src="images/120713/1-120G31F439427.jpg" alt="很漂亮纯css打造的菜单导航" /></div>
 <h5>很漂亮纯css打造的菜单导航</h5>
 <p>今天在浏览一个国外网站时候发现他的网站菜单很美啊 让我情不自禁地想去偷她!渐渐地我就神志不清拿出firebug开始和她交流拉!等我偷玩后我已经爱上这款很漂亮纯css打造的菜单导航,爱微网现在无私地分享给大家!只有一个愿望:大家好好珍惜她吧大家好好珍惜她吧大家好好珍惜她吧...<a href="/zhenxmrong/">[查看详细]</a></p>
 </li>
 <li class="clearfix">
 <div class="imgBox"><img src="images/1212/1-12121Q212324Y.jpg" alt="自己做的jQuery展开收起效果" /></div>
 <h5>自己做的jQuery展开收起效果</h5>
 <p>今天唯美搭配网刚做的jquery下拉收缩特效,用jquery做的很简单,适合jquery入门者,主要用到jquery的slideToggle(),这个函数本身就是下拉收缩的最佳选择 今天刚做的jquery下拉收缩特效,用jquery做的很简单,适合jquery入门者,主要用到jquery的slideToggle(),这个函数本身就是下拉收缩的... <a href="/js_menu/162.html">[查看详细]</a></p>
 </li>
 <li class="clearfix">
 <div class="imgBox"><img src="images/120722/1-120H2102135O8.jpg" alt="QQ和淘宝在线客服JS特效" /></div>
 <h5>QQ和淘宝在线客服JS特效</h5>
 <p>QQ和淘宝在线客服JS特效左侧悬浮广告代码  美观适合企业 个人商城 淘宝商城 使用 代码很简洁 想添加QQ或淘宝在线客服 只要修改HTML标签 TABLE表格 增加和删除 把里面的参数改成自己账号对应的参数就OK拉 这款QQ在线客服 淘宝在线客服特效 大家也许见过!...<a href="/view/442.html">[查看详细]</a></p>
 </li>
</ul>
</div>
</body>
</html>

希望本文所述对大家的jquery程序设计有所帮助。

Javascript 相关文章推荐
IE中jscript/javascript的条件编译
Sep 07 Javascript
浅析jQuery的链式调用之each函数
Dec 03 Javascript
javascript实现tabs选项卡切换效果(扩展版)
Mar 19 Javascript
js页面跳转的常用方法整理
Oct 18 Javascript
通过遮罩层实现浮层DIV登录的js代码
Feb 07 Javascript
jQuery跨域问题解决方案
Aug 03 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
Sep 14 Javascript
JavaScript实现的浮动层框架用法实例分析
Oct 10 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
Aug 01 Javascript
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
layui 实现自动选择radio单选框(checked)的方法
Sep 03 Javascript
JS使用for in有序获取对象数据
May 19 Javascript
javascript实现类似百度分享功能的方法
Jul 27 #Javascript
纯js模拟div层弹性运动的方法
Jul 27 #Javascript
纯javascript实现的小游戏《Flappy Pig》实例
Jul 27 #Javascript
JavaScript中利用Array和Object实现Map的方法
Jul 27 #Javascript
JavaScript数据库TaffyDB用法实例分析
Jul 27 #Javascript
javascript简单实现滑动菜单效果的方法
Jul 27 #Javascript
JavaScript判断IE版本型号
Jul 27 #Javascript
You might like
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
IE8 中使用加速器(Activities)
2010/05/14 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
给easyui的datebox控件添加清空按钮的实现方法
2016/11/09 Javascript
IntersectionObserver API 详解篇
2016/12/11 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
2020/03/06 Javascript
[03:18]DOTA2放量测试专访820:希望玩家加入国服大家庭
2013/08/25 DOTA
python使用scrapy解析js示例
2014/01/23 Python
Python字符串替换实例分析
2015/05/11 Python
Python 实现引用其他.py文件中的类和类的方法
2018/04/29 Python
python监控文件并且发送告警邮件
2018/06/21 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
Keras设置以及获取权重的实现
2020/06/19 Python
详解python logging日志传输
2020/07/01 Python
python time()的实例用法
2020/11/03 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
2020/12/16 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
印度在线购物网站:Paytmmall
2019/07/24 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
幼儿园教师自我鉴定
2014/03/20 职场文书
承诺书样本
2014/08/30 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
给领导敬酒词
2015/08/12 职场文书
Django使用channels + websocket打造在线聊天室
2021/05/20 Python