嗨,我想在背景图像之间重现一种滑块效果,例如网站http://www.moveline.com/在主页上所做的。
标题下方的示例部分:“为您的下一步行动绘制详细信息”。
我看他们使用jQuery,RequireJS(2.1.4)的代码
我尝试隔离产生这种效果的代码,但 JavaScript 代码已被压缩,这使得它很难理解(而且它们使用主干)。
知道如何借助一些插件在 jQuery 中很好地重现这一点吗?
谢谢
嗨,我想在背景图像之间重现一种滑块效果,例如网站http://www.moveline.com/在主页上所做的。
标题下方的示例部分:“为您的下一步行动绘制详细信息”。
我看他们使用jQuery,RequireJS(2.1.4)的代码
我尝试隔离产生这种效果的代码,但 JavaScript 代码已被压缩,这使得它很难理解(而且它们使用主干)。
知道如何借助一些插件在 jQuery 中很好地重现这一点吗?
谢谢
这是他们在他们的网站http://jsfiddle.net/y29kR/2/上所做的几乎所有工作的小提琴
html:
<div class="items">
<div class="menu-item" data-look-at="0 0">item1</div>
<div class="menu-item" data-look-at="-40px -70px">item2</div>
<div class="menu-item" data-look-at="-120px -30px">item3</div>
</div>
<div class="menu-content"></div>
CSS 在背景位置上带有 css 过渡
.items {
float:left;
}
.menu-item {
padding: 15px;
color: #333;
border-bottom: 1px solid #ccc;
width: 70px;
}
.menu-content {
height: 150px;
width: 150px;
background-repeat: no-repeat;
background-image: url("http://placehold.it/350x350");
background-position: center center;
float:left;
-webkit-transition: background-position 600ms ease;
-moz-transition: background-position 600ms ease;
-o-transition: background-position 600ms ease;
}
我正在使用 jQuery 的 .css 方法来检测悬停事件以产生(几乎)所需的效果:
jQuery(document).ready(function() {
$('.menu-item').hover(function(e) {
var target = $(e.target),
newPos = target.data("look-at");
$('.menu-content').css({'background-position': newPos});
});
$('.items').mouseleave(function(e) {
$('.menu-content').css({'background-position': 'center center'});
});
});