本文实例介绍了js焦点图片层叠轮播切换滚动效果,分享给大家供大家参考,具体内容如下

效果图:

功能描述:

自定义图片尺寸;

每隔一段时间自动滚动图片;

每次动画执行的时候改变图片的位置,宽高以及其它属性也要跟随着变化;

鼠标移上图片,显示当前图片的详细信息;

点击按钮向前向后滚动;

详细代码:

html代码:

*{margin:0px; padding:0px;font-family:"Microsoft YaHei"}

ol,ul{list-style:none;}

cite,em,i{font-style:normal}

* html .clearfix { height: 1%; }

.clearfix { display: block; }

.myclearfix:after { clear:both; visibility:hidden;}

.myclearfix { display: block; _display:inline-block; overflow:hidden;}

#largerImages{position:relative;width:1000px;margin:0 auto;height:520px;overflow:hidden;}

#largerImages li{box-shadow:1px 1px 12px rgba(200, 200, 200, 1);width:368px;height:368px; position:absolute;top:10px;overflow:hidden;color:#fff;}

#largerImages li .cover{background-color:#333;opacity:0.5;filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);height:100%;width:100%;display:block;position:absolute;top:0px;}

#largerImages img{border:0px;width:100%;height:100%;}

#largerImages .previous{left:13%;}

#largerImages .next{left:53%;}

#largerImages .previous,#largerImages .next{cursor:pointer; position:absolute;z-index:100; top:25%;height:60px;line-height:60px;width:30px;color:#fff;text-align:center;}

#largerImages .previous span,#largerImages .next span{position:absolute;top:0px;left:0px;height:100%;width:100%;display:block;background-color:#000;opacity:0.4;filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);}

#largerImages .previous em,#largerImages .next em{height:100%;width:100%;display:block;position:absolute;top:0px;left:0px;font-size:26px; font-family: "宋体";}

#largerImages li span,#largerImages li em{position:absolute;left:0px;width:100%;height:30px;line-height:30px; bottom:0px;text-align:center;display:block;color:#fff;}

#largerImages li span{background-color:#000;opacity:0.5;filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);font-size:12px;}

<

>

 

主播昵称

 

主播昵称

 

主播昵称

 

主播昵称

 

主播昵称

seajs.use(['lib/jquery/1.11.x/index.js','_example/rotateBox/index.js'],function($,carousel) {

carousel.init({

wapper: $('#largerImages'),

//所有图片以此来按比例定义宽高

imgWidth: 450,

imgHeight: 300,

spacing: {

left: 60, //每张图片左边距离相差多少

top: 30, //每张图片顶部距离相差多少

width: 60, //每张图片宽度相差多少

height: 60 //每张图片高度相差多少

}

});

});

js 代码:

define(function(require, exports, module) {

'use strict';

var $ = require('lib/jquery/1.11.x/index.js');

var carousel = {

_initData:false, //判断动画是否执行完毕

init: function(options) {

var t = this;

t._wapper = options.wapper;

t._grids = t._wapper.find('li');

t._gridsWidth = options.imgWidth;

t._gridsHeight = options.imgHeight;

t._spacing = options.spacing;

//取居中图片

t._middle = t._grids.length % 2 == 0 ? t._grids.length / 2 : parseInt(t._grids.length / 2);

//存放各图片参数

t._arr = {

left: [],

top: [],

zIndex: [],

width: [],

height: []

}

if ( !t._initData ) {

var interval;

interval = setInterval(function(){

$('.previous').click();

},10000);

}

t._largerImages();

t._reposition();

t._mouseEnter(t._grids) //鼠标移动上去显示主播昵称

},

//初始化定位:

_largerImages: function() {

var t = this;

var front = t._middle;

var avtive = t._middle;

var last = t._grids.length;

t._grids.each( function(i, img) {

if (i == t._middle) {

t._grids.eq(i).css({

zIndex: 99,

top: 0,

left: t._spacing.left * i,

height: t._gridsHeight,

width: t._gridsWidth

});

} else if ( i < t._middle ) {

t._grids.eq(i).css({

zIndex: i,

top: t._spacing.top * front,

left: t._spacing.left * i,

height: t._gridsHeight - t._spacing.height * front,

width: t._gridsWidth - t._spacing.width * front

});

front--;

} else {

last --;

t._grids.eq(last).css({

zIndex: i,

top: t._spacing.top * avtive,

left: t._spacing.left * last + t._spacing.width * avtive,

height: t._gridsHeight - t._spacing.height * avtive,

width: t._gridsWidth - t._spacing.width * avtive

});

avtive --;

};

});

},

//翻页动画

_reposition: function() {

var t = this;

//把各属性值传到数组里面

t._grids.each( function(i,img) {

t._arr.left.push(t._grids.eq(i).position().left);

t._arr.top.push(t._grids.eq(i).position().top);

t._arr.width.push(t._grids.eq(i).width());

t._arr.height.push(t._grids.eq(i).height());

t._arr.zIndex.push(t._grids.eq(i).css('z-index'));

});

//向前翻页

$('.previous').bind('click',function() {

if ( !t._initData && t._arr.left.length != 0) {

t._initData = true;

//重新获取选择器

var grids = t._wapper.find('li');

for (var i = 1; i < grids.length ; i ++) {

grids.eq(i).animate({

zIndex: t._arr.zIndex[i - 1],

left: t._arr.left[i - 1],

top: t._arr.top[i - 1],

width: t._arr.width[i - 1],

height: t._arr.height[i - 1],

},200,

function() {

t._initData = false;

grids.find('i').addClass('cover');

grids.eq(t._middle + 1).find('i').removeClass('cover');

});

};

grids.eq(0).animate({

left: t._arr.left[ grids.length - 1],

top: t._arr.top[ grids.length - 1],

width: t._arr.width[ grids.length - 1],

height: t._arr.height[ grids.length - 1],

zIndex: t._arr.zIndex[ grids.length - 1]

},200,

function(){

$(this).appendTo(t._wapper);

});

}

});

//向后翻页

$('.next').bind('click',function() {

if ( !t._initData && t._arr.left.length != 0) {

t._initData = true;

//重新获取选择器

var grids = t._wapper.find('li');

for (var i = 0; i < grids.length - 1; i ++) {

grids.eq(i).animate({

left: t._arr.left[i + 1],

top: t._arr.top[i + 1],

width: t._arr.width[i + 1],

height: t._arr.height[i + 1],

zIndex: t._arr.zIndex[i + 1]

},200,function() {

t._initData = false;

});

};

grids.eq(grids.length - 1).animate({

left: t._arr.left[0],

top: t._arr.top[0],

width: t._arr.width[0],

height: t._arr.height[0],

zIndex: t._arr.zIndex[0]

},200,

function(){

$(this).prependTo(t._wapper);

grids.find('i').addClass('cover');

grids.eq(t._middle - 1).find('i').removeClass('cover');

});

}

});

},

//鼠标进入图片效果

_mouseEnter: function(grids) {

grids.each(function(i){

$(this).mouseenter(function() {

$(this).find('.tab_name').animate({

bottom:0,opacity: 'show'

},200);

});

$(this).mouseleave(function() {

$(this).find('.tab_name').animate({

bottom:-50,opacity: 'hide'

},200);

});

});

},

};

return carousel;

});

以上就是本文的全部内容,希望对大家的学习有所帮助。

html图片重叠轮播,原生js实现图片层叠轮播切换效果相关推荐

  1. html原生js实现图片轮播,原生JS实现图片轮播切换效果

    原生JS实现图片轮播切换效果 2019-01-06 编程之家 https://www.jb51.cc 编程之家收集整理的这篇文章主要介绍了原生JS实现图片轮播切换效果,编程之家小编觉得挺不错的,现在分 ...

  2. html图片自动左右轮播,原生JS实现图片左右轮播

    本效果使用js实现,当图片移动到200像素后回到0像素再向右移动200像素一直左右移动,不需要marquee标签. 完整的HTML代码如下,保存到HTML文档打开可以查看效果: JS使图片左右移动_何 ...

  3. html5图片无限循环播放,原生js实现无限循环轮播图效果

    知识要点 1.实现无限循环的原理: 以偏移的距离来判断是否跳回第一张和最后一张 也可以利用循环判断图片的当前索引值 var newLeft=parseInt(list.style.left)+offs ...

  4. html多图轮播淡入淡出js,原生JS实现图片轮播与淡入效果的简单实例

    最近对css的兴趣提不起来,因为以前对图片轮播一直耿耿于怀苦于学艺不精,所以,花了点时间熟悉了一下js.然后一条道走到黑,用jquery和js写了一下轮播和图片淡入的效果.以后学习的路很长,希望自己在 ...

  5. 原生JS实现韩雪冬轮播图

    分享一个用原生JS实现的韩雪冬轮播图,效果如下: 实现代码如下: <!DOCTYPE html> <html><head lang="en">& ...

  6. 2021年原生JS实现韩雪冬轮播图

    <!DOCTYPE html> <html><head lang="en"><meta charset="UTF-8" ...

  7. 原生JS制作自动+手动轮播图,附带二级分类菜单

    原生JS制作自动+手动轮播图,附带二级分类菜单 包含以下功能: 1.鼠标移开自动轮播 2.鼠标移入停止自动轮播 3.点击左右按钮可手动切换图片 4.点击索引小圆点可手动切换图片 5.鼠标移入一级菜单展 ...

  8. 原生js模拟实现京东轮播图

    原生js模拟实现京东轮播图 一.实现原理 1. 官网发现 2. opacity和z-index 3.定位 二.文档目录 三.HTML结构 四.css样式 五.js行为_实现自动轮播与点击效果 六.效果 ...

  9. 原生JS实现图片跑马灯特效

    今天给大家分享一个用原生JS实现的图片跑马灯特效,效果如下: 实现的代码如下,欢迎大家复制粘贴. <!DOCTYPE html> <html><head><m ...

  10. 如何上传图片到fileupload空间_如何用原生js写图片上传组件v2.0(还有新版本)?...

    js图片上传组件: 基本要求: 1.上传的图片可预览,可删除,可被覆盖更新 2.要求图片格式为jpg和png,大小不能超过2M 新加需求: 1.模拟回显,可用本地存储(实际上的回显是通过后台传过来的u ...

最新文章

  1. python列表--查找集合中重复元素的个数
  2. Linux ubuntu终端sh、bash、shell的联系与区别
  3. 买房子,就该用线性回归
  4. 教你如何使用Redis:[7]redis常用命令
  5. python脚本监控mysql数据库_Python脚本监控mysql数据库,Python脚本监控mongo数据库
  6. Apache Flink CEP 实战
  7. 使用Sysmon分析宏病毒(Macros Downloader)
  8. ios下点击label包含的input checkbox或radio无效问题
  9. 神经网络matlab仿真,神经网络模型及其MATLAB仿真程序设计 周开利 等著 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
  10. Html5用户注册页面
  11. Apache Tomcat安装配置
  12. 利用MeGUI实现批量转换视频
  13. 午睡起来发现了很精美的windows壁纸
  14. 测试用例设计——微信发朋友圈(详细)
  15. C++课程学习代码汇总基础
  16. 【龙印】用龙芯1c实现3D打印机的总体思路
  17. 【UE5 水体系统】
  18. lammps案例:聚乙烯/石墨烯侧面pull out模拟案例
  19. C4D打开obj文件简单操作记录
  20. 从零开始研发GPS接收机连载——11、电文解析

热门文章

  1. echarts 直方图加正态_在频数直方图上绘制正态分布曲线
  2. 怎么才能够坚持做一件事并且把它做好?
  3. ln: creating hard link 问题
  4. 词根词缀【-vict=vinc】
  5. opencv手动实现运动目标检测
  6. [转]ceph pg peering过程分析
  7. discards qualifiers —— 丢弃类型
  8. 企业支付宝账号注册认证流程
  9. SQL中使用UNION ALL一定比OR效率高吗?
  10. 有关于图片压缩大小--尺寸裁剪 和 压缩系数