轮播图 中间放大 内容跟着切换 (参考 米趣 网站)
html
 
<div class="jcarousel-wrapper">
<div class="jcarousel" data-jcarousel="true">
<ul id="myjcar">
</ul>
</div>
<a href="#" class="jcarousel-control-prev" data-jcarouselcontrol="true"><img
src="data:images/btn_left.png" alt=""></a>
<a href="#" class="jcarousel-control-next" data-jcarouselcontrol="true"><img
src="data:images/btn_right.png" alt=""></a>
</div>
css
 
.jcarousel-wrapper {
position: relative;
margin: 20px 30px;
}
.jcarousel {
position: relative;
padding: 20px 0;
overflow: hidden;
width: 100%;
}
.jcarousel ul {
width: 20000em;
position: relative;
list-style: none;
margin:;
padding:;
}
.list-job ul {
position: relative;
width: 20000em;
list-style: none;
margin:;
padding:;
}
.jcarousel li {
width: 300px;
float: left;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
text-align: center;
}
js
<script src="http://libs.useso.com/js/jquery/2.1.1/jquery.min.js"></script>
<!--<script src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script> -->
<script src="http://keleyi.com/keleyi/pmedia/jquery/jquery-migrate-1.2.1.min.js"></script>
<script src="js/jCarousel.js"></script>
<script type="text/javascript">
// 显示个数
var show_size = 3;
// 初始化时中间的位置,从0开始
var middle_index = 1;
// 向前滚动时新的中间位置(试出来的)
var middle_index_when_prev = 1;
// 向后滚动时新的中间位置(试出来的)
var middle_index_when_next = 2; // 图片数据
var mycarousel_itemList = [
{url: 'images/4joblist(1).png', title: 'joblist1'},
{url: 'images/4joblist(2).png', title: 'joblist2'},
{url: 'images/4joblist(3).png', title: 'joblist3'},
{url: 'images/4joblist(4).png', title: 'joblist4'},
{url: 'images/4joblist(5).png', title: 'joblist5'},
{url: 'images/4joblist(6).png', title: 'joblist6'} ]; // 初始化组件时的回调函数
function mycarousel_initCallback(carousel) {
$('.jcarousel-control-prev').bind('click', function () {
carousel.prev();
recover_image();
enlarge_image(middle_index_when_prev);
return false;
}); $('.jcarousel-control-next').bind('click', function () {
carousel.next();
recover_image();
enlarge_image(middle_index_when_next);
return false;
});
} function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt) {
var idx = carousel.index(i, mycarousel_itemList.length);
carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[idx - 1]));
} function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt) {
carousel.remove(i);
} // img标签生成方法
function mycarousel_getItemHTML(item) {
return '<img src="' + item.url + '" width="300" height="300" alt="' + item.title + '" />';
} /**
* 切换图片前触发的回调函数
**/
function myItemLoadCallback_beforeFun(data, state) {
var middle = (data.first + data.last) / 2; // 中间图片是第几个?
var index = middle - 1;// 数组是从0开始的
switchArticle(index);
} // 根据中间图片的索引更换文章
function switchArticle(index) {
var size = mycarousel_itemList.length;
while (true) {// index不符合数组要求的话,就修正它
if (index < 0) {
index = size + index;
} else if (index >= size) {
index = index - size;
} else {
break;
}
}
$(".item").removeClass("show");
$(".item").eq(index).addClass("show")
} /**
* 切换图片后触发的回调函数
**/
function myItemLoadCallback_afterFun(data, state) {
var middle = (data.first + data.last) / 2; // 中间图片是第几个?
var index = middle - 1;// 数组是从0开始的
} // 放大
function enlarge_image(index) {
$(".jcarousel li:eq(" + index + ")").addClass("active");
} // 还原
function recover_image() {
$(".jcarousel li").removeClass("active");
} jQuery(document).ready(function () {
jQuery('#myjcar').jcarousel({
size: show_size,
scroll: 1,
wrap: 'circular',
initCallback: mycarousel_initCallback,
itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback},
itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback},
itemLoadCallback: {
onBeforeAnimation: myItemLoadCallback_beforeFun,
onAfterAnimation: myItemLoadCallback_afterFun
}
}); recover_image();
enlarge_image(middle_index);
}); </script>

jCarousel.js 插件的更多相关文章

  1. 【jQuery小实例】js 插件 查看图片

    ---本系列文章所用使用js均可在本博客文件中找到. 像淘宝一样,鼠标放在某一件商品上,展示大图信息,甚至查看图片的具体部位.给人超炫的效果,这种效果实现基于js文件和js插件.大致可以分为三步,添加 ...

  2. 【PC端】jQuery+PHP实现浏览更多内容(jquery.more.js插件)

    参数说明: 'amount' : '10', //每次显示记录数 'address' : 'comments.php', //请求后台的地址 'format' : 'json', //数据传输格式 ' ...

  3. chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法[bubuko.com]

    chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法,原文:http://bubuko.com/infodetail-328671.html 默认情况下如下图 Y轴并不是从0开始 ...

  4. jQuery.cookie.js插件了解及使用方法

    jquery.cookie.js插件实现浏览器的cookie存储,该插件是基于jquery开发,方便cookie使用. jquerycookie.js的下载地址 http://plugins.jque ...

  5. Intense Images – 全屏浏览图像的 JS 插件

    Intense Images 是一个独立的 JavaScript 库,用于查看全屏图像.使用触摸/鼠标来实现图片位置的平移.图像元素的所有样式都是可以自定义的,Intense.js 只处理图像浏览器和 ...

  6. 购物车增加、减少商品时动画效果:jQuery.Fly.js插件使用方法

    某些电商网站加入购物车和减少购物车商品数量时,有个小动画,以抛物线形式增减,如图:      这里用到了第三方jQuery.Fly.js插件(底层依赖Jquery库,地址:https://github ...

  7. 代码规范和常用的js插件以及测试工具

    1.代码规范 .model层 1.1.1database file_proerty 1.1.2java fileProperty. 1.2.字段要有空指针 1.3.不创建爱数据库外键约束 1.4.已知 ...

  8. jquery.autocomplete.js 插件的自定义搜索规则

    这二天开始用jquery.autocomplete这个自动完成插件.功能基本比较强大,但自己在实际需求中发现还是有一处不足!问题是这样:当我定义了一个本地数据JS文件时,格式为JSON式的数组.如下: ...

  9. bootstrap实现 手机端滑动效果,滑动到下一页,jgestures.js插件

    bootstrap能否实现 手机端滑动效果,滑动到下一页 jgestures.js插件可以解决,只需要引入一个JS文件<script src="js/jgestures.min.js& ...

随机推荐

  1. Docker构建nginx的nginx-rtmp-module视频服务器镜像

    文章地址:https://www.cnblogs.com/linyilong3/p/5862595.html GitHub nginx-rtmp-module 及配置 Dockerfile构建配置: ...

  2. Python读取键盘输入

    Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.例如以下: raw_input input raw_input函数 raw_input() 函数从标准输入读取一个行.并返回 ...

  3. jsp自己主动编译机制

    总的来说,Jasper的自己主动检測实现的机制比較简单,依靠某后台线程不断检測JSP文件与编译后的class文件的最后改动时间是否同样,若同样则觉得没有改动.但倘若不同则须要又一次编译.实际上因为在T ...

  4. JSP应用开发 -------- 电纸书(未完待续)

    http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术   第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...

  5. python字符串操作,以及对应的C#实现

    --IndexOf-- python: inx = str.find("aa") c#: var inx = str.IndexOf("aa"); --Last ...

  6. ArgumentException: Getting control x's position in a group with only x controls when doing KeyDown Aborting解决方法

    标题有点长,做Editor工具时遇到的问题.最后解决了,总结下 有可能你在界面中用了键盘事件或者其他事件,导致这个报错.官方论坛有个解释比较给力LINK 我在渲染Layout和Repaint的时候加上 ...

  7. Atitit.vod 视频播放系统 影吧系统的架构图 架构体系 解决方案

    Atitit.vod 视频播放系统 影吧系统的架构图 架构体系 解决方案 1. 运行平台:跨平台 android ios pc mobile 1.1. -------------前端 界面------ ...

  8. 分页技术框架(Pager-taglib)学习二(SSH数据库分页)

    一.Pager-taglib数据库分页前提    Pager-taglib分页标签也可以实现数据库分页,与页面分页不同的是需要给后台传两个参数,一个是pageNo(当前页数)或pageOffset(偏 ...

  9. Linux之手动设置IP地址

    一.引言 有时候我们装好了机器却发现网络没有设置,而服务器的机器一般都是没有界面的,那么该如何设置IP呢? 二.步骤 root用户,#vi /etc/sysconfig/network-scripts ...

  10. 结构体sockadrr、sockaddr_in、in_addr的定义

    /* Internet address.  */typedef uint32_t in_addr_t;struct in_addr  {    in_addr_t s_addr;  };  typed ...