轮播图 中间放大 内容跟着切换 (参考 米趣 网站)
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. C# 递归查找文件夹下所有文件和子文件夹的所有文件

    方法实现 public class DirectoryAllFiles { static List<FileInformation> FileList = new List<File ...

  2. js Array.prototype.join.call(arguments,",") 理解

    prototype 属性使您有能力向对象添加属性和方法. join() 方法:把数组的所有元素放入一个字符串.元素通过指定的分隔符进行分隔. call() 方法可以用来代替另一个对象调用一个方法. A ...

  3. java基础讲解10-----类的高级特性

    一.final关键字 1.final关键字修饰变量,表示变量不可以被改变,如果想修改,编译器不会接受的. 注意:final关键字定义的变量必须赋值 public  static final 修饰  白 ...

  4. 事件轮询 event loop

    Understanding the node.js event loop The first basic thesis of node.js is that I/O is expensive: So ...

  5. AOP - PostSharp 2.0

    PostSharp是一个非常优秀的AOP框架,使用上非常方便,功能强大,对目标拦截的方法不需要做什么修改,但现在已经商业化运作从PostSharp官方网站下载一个试用版,安装 简单示例PostShar ...

  6. CentOS安装自动补全安装包

    CentOS7标准版有这个功能,但是CentOS6却没有,其实很简单: 1.安装bash-completion yum install bash-completion 2.保存一下最新的缓存 yum ...

  7. maven添加额外archetype

    用Eclipse + m2e 插件新建maven项目时发现archetype太少了,网上搜索如何添加额外的archetype. http://maven.apache.org/archetype/ma ...

  8. Linux编程学习路线

    参考这篇博客 一本书一本书的啃吧,再多撸点项目

  9. jsp tld的function 自定义方法扩展

    引入方式示例: <%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %> 写法示例: <? ...

  10. quartz定时任务框架之实例

    import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; import java.util.Date; public class ...