html箭头随着点击而移动,javascript - 点击左右箭头,图片跟随移动,正中的图片始终最大...

習慣沉默2017-05-19 10:31:252楼

69192e46e3b7c22784052aefb172a3ec.png

我的思路如上

CSS重点在于 设置 .view 的 overflow-x 为 hidden

还有 .container 的 absolute

这样就可以把 .container left变化 转化成 看起来就像滚动一样

现在的问题就是让中间那个变大一些

按套路来讲,还需要写 .iambig 作为变大后的样式

一切准备工作做好后:

把问题转化成数据问题

把数据渲染出来

// box.js

var Box = (function(){

var container = $('.container');

var items = $('.item'); // 假设已经有一个已经变大了

var isBig = items.map(item => {

return item.hasClass('iambig');

});

// 把item映射成isBig

// 比如第一个的item的类是 'item iambig'

// 那么 isBig 将会是

// [true, false, false, false, false]

var next = function(){

// 最后一个吐出来插到最前面

var last = isBig.pop();

isBig.unift(last);

}

var pre = function(){

// 最前面站出来插到最后面

var first = isBig.shift();

isBig.push(last);

}

var render = function(){

items.removeClass('iambig'); // 大家都去掉 iambig

isBig.forEach((e, i)=>{

if (e) {

$(items[i]).addClass('iambig');

container.css(left, i); // 这个让他滚动。。。 这个得看情况弄了 这个值可以是百分比也可以是px 。。。 看你具体需求了

}

})

}

return {

next: next,

pre: pre,

render: render

}

})();

都准备好之后把暴露出来的 next pre render 绑定到对应的按钮上

PS:pre, next 改变了数据之后记得还要 render 渲染

需要的基础知识

CSS overflow, absolute width 等等基础 CSS 姿势

Array.prototype.forEach、jQuery的常用方法等等

= = 。。。。 希望能帮到你。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值