Jquery焦点图实例代码


Posted in Javascript onNovember 25, 2014

本文实例讲述了Jquery焦点图实例代码。分享给大家供大家参考。具体如下:

对于很多建站的朋友来讲,焦点图并不陌生,一般的企业站,门户站都会用到焦点图。我们平时在写html代码的时候,很多人为了省时省力,对于焦点图都是在网上下载一些人家写好的代码,直接套上去即可,很多时候我自己也是这样来的。因为一个焦点图有html布局,css样式调试和最关键的 javascript语句的编写。这些都是一个很麻烦的过程。

今天我就以实例讲解,手把手教你如何写Jquery焦点图。Jquery是js封装的框架,让js的语法变得简单,很多知名网站都在用这个框架。这里星仔为了语法的简单,让大部分网友能看懂,也引用Jquery框架。

长话短说,我直接贴出源代码,和对应的注释。具体代码如下:

<!DOCTYPE html>

<html>

<head>

<title>focus code powered by boyxing.com</title>

<script type="text/javascript" src="js/jquery.js"></script><!--引用Jquery框架-->

<!--css定义,可以根据需要自己定义-->

<style type="text/css">

body,ul,li{ margin:0; padding:0}

ul,li{ list-style:none;}

.focus{ margin:0 auto; height:320px; width:980px; overflow:hidden; position:relative; padding:0;}

.focus .bigpic{ position:absolute;padding:0;}

.focus .bigpic li{ width:980px;float:left;padding:0;}

.focus .btn{ overflow:hidden; height:30px;position:absolute; bottom:3px; left:50%; margin-left:-100px;}

.focus .btn li{ float:left; margin:0 10px; padding:5px; cursor:pointer; background: #fff;border:1px #900 solid;border-radius:12px; height:12px; width:12px; overflow:hidden; text-align:center; line-height:12px;opacity:0.6; float:left;}

.focus .btn li.on{ background: #990000; color:#FFFFFF;}

</style>

</head>

<body>

 

<!--焦点图div部分开始-->

<div class="focus">

  <div class="focuscon">

    <ul class="bigpic">

      <li><a href="#"><img src="fbc60c3991284b6ffdb0aa11a1708c41.jpg" border="0"></a></li>

      <li><a href="#"><img src="3d41450340fe053008f8437011b7bcf5.jpg" border="0"></a></li>

      <li><a href="#"><img src="c9a787ef199d47bdb3529bbdecfc989c.jpg" border="0"></a></li>

      <li><a href="#"><img src="2471eddde718c56879171814c8a52153.jpg" border="0"></a></li><!--焦点图个数不限-->

    </ul>

  </div>

</div>

<!--焦点图div部分结束-->

 

</body>

<script type="text/javascript">

$(document).ready(function(){

 

var num=$(".bigpic li").length;//获取焦点图的个数

var fwidth=$(".bigpic li").width();//获取每个焦点图的宽度

var sec=4000;//时间切换间隔

 

var btn = '<ul class="btn"><li class="on">1</li>';

var btnend = '</ul>';

for(i=2;i<=num;i++){btn += '<li>'+i+'</li>';};

btn += btnend;

if(num == 1){btn = null};

$(".focus").append(btn);//自动根据焦点图个数,添加切换按钮,如果只有一张图片则不显示切换按钮。

 

$(".bigpic").css("width",fwidth*num);//设定大图集合的宽度,也就是所有焦点图宽度的和。

 

$(".btn li").bind("mouseover",function(){

  $(this).addClass("on").siblings().removeClass("on");

  var i=$(".btn li").index(this);var marginL=fwidth*i;

  $(".bigpic").animate({"left":-marginL},500);}

);//鼠标指向按钮,焦点图切换到对应位置,按钮样式改变。mouseover是鼠标经过时,这里也可以改成click,通过点击切换焦点图。

 

picTimer = setInterval(timeset,sec); //指定sec毫秒后执行一次timeset函数。

function timeset(){

  var j = $(".btn li").index($(".on"));//取得 当前焦点图的位置,即class为on的序号。

  var timew = fwidth*(j+1);

  if(j == num-1){$(".btn li").eq(0).addClass("on").siblings().removeClass("on");$(".bigpic").animate({"left":0},500);}

            else{$(".btn li").eq(j+1).addClass("on").siblings().removeClass("on");$(".bigpic").animate({"left":-timew},500);};

                  };

 

$(".focus").mouseover(function(){clearInterval(picTimer);});

$(".focus").bind("mouseout",function(){picTimer = setInterval(timeset,sec);}

);//当鼠标指向焦点图或者是切换按钮时,定时器清除,即不在执行自动切换,鼠标离开则恢复自动切换。

 

})

</script>

</html>

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

Javascript 相关文章推荐
JavaScript是否可实现多线程  深入理解JavaScript定时机制
Dec 22 Javascript
JavaScript 题型问答有答案参考
Feb 17 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
Aug 22 Javascript
js判断鼠标左、中、右键哪个被点击的方法
Jan 27 Javascript
javascript与css3动画结合使用小结
Mar 11 Javascript
js实现图片无缝滚动特效
Mar 19 Javascript
jQuery实现页面点击后退弹出提示框的方法
Aug 24 Javascript
微信小程序加载更多 点击查看更多
Nov 29 Javascript
JS 实现banner图片轮播效果(鼠标事件)
Aug 04 Javascript
Postman模拟发送带token的请求方法
Mar 31 Javascript
vue中vee validate表单校验的几种基本使用
Jun 25 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
Jul 27 Javascript
jQuery事件绑定和委托实例
Nov 25 #Javascript
2014最热门的JavaScript代码高亮插件推荐
Nov 25 #Javascript
JS跨域问题详解
Nov 25 #Javascript
javascript 中__proto__和prototype详解
Nov 25 #Javascript
js 加密压缩出现bug解决方案
Nov 25 #Javascript
js Object2String方便查看js对象内容
Nov 24 #Javascript
js的[defer]和[async]属性
Nov 24 #Javascript
You might like
php中的时间处理
2006/10/09 PHP
Zend的MVC机制使用分析(二)
2013/05/02 PHP
php实现微信公众平台账号自定义菜单类
2014/12/02 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
详谈$.data()的用法和作用
2017/02/13 Javascript
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
python爬虫入门教程--正则表达式完全指南(五)
2017/05/25 Python
Python连接Redis的基本配置方法
2018/09/13 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
Django框架 querySet功能解析
2019/09/04 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
浅析Python 序列化与反序列化
2020/08/05 Python
追悼会主持词
2014/03/20 职场文书