jquery动画2.元素坐标动画效果(创建一个图片走廊)

2020-05-22 22:02:03易采站长站整理

{
float: left;
width: 400px;
height: 300px;
}
#title
{
margin: 0;
text-align: center;
}

3.为页面添加jquery和jquery.easing.1.3.js的引用。然后就是我们这篇的重头了,为导航编写相应的js事件。
  首先我们需要创建一个新的div来包装5张图片。

$(‘#viewer’).wrapInner(‘<div id=”slide”></div>’);  

接下来我们使用jquery的selector找到slider,slide,prev,next等对象,把他们存到相应的js变量中。

var container = $(‘#slider’),
prev = container.find(‘#prev’),
prevChild = prev.find(‘a’),
next = container.find(‘#next’).removeClass(‘hidden’),
nextChild = next.find(‘a’),
slide = container.find(‘#slide’)

创建两个新的js变量,key保存当前活动图片id,details保存所有图片各自的position和title信息。

key = “image1”,
details = {
image1: {
position: 0,
title: slide.children().eq(0).attr(‘alt’)
},
image2: {
position: -400,
title: slide.children().eq(1).attr(‘alt’)
},
image3: {
position: -800,
title: slide.children().eq(2).attr(‘alt’)
},
image4: {
position: -1200,
title: slide.children().eq(3).attr(‘alt’)
},
image5: {
position: -1600,
title: slide.children().eq(4).attr(‘alt’)
}
};

为了显示图片标题,我们需要添加一个h2标题到页面。

$(‘<h2>’, {
  id: ‘title’,
  text: details[key].title
}).prependTo(‘#slider’);   

上述工作完成后,就可以开始为a标签添加click事件了,这里的a标签分两种,一种是‘上一条’和‘下一条’,另外一种是各图片对应的导航。我们需要分别为他们添加相应的click事件。但是他们都会使用到一个相同的回调函数,我们先完成回调函数的编写。代码思路我就直接以注释的方式完成。

function postAnim(dir) {
  //首先我们获取到当前活动图片的id,只包含数字部分
var keyMath = parseInt(key.match(/d+$/));
  //slide的left小于0,也就是说当前活动图片不是图片1,‘上一条’导航显示;否则‘上一条’导航消失
(parseInt(slide.css(‘left’)) < 0) ? prev.show() : prev.hide();
  //slide的left等于-1600,也就是说当前活动图片是第五章,‘下一条’导航消失,否则‘下一条’导航显示
(parseInt(slide.css(‘left’)) === -1600) ? next.hide() : next.show();
  
  //if条件语句当使用‘上一条’和‘下一条’导航时才有意义。实现的功能就是点‘上一条’是key减一,点‘下一条’key加1