jQuery实现圣诞节礼物传送(花式轮播)

前端之家收集整理的这篇文章主要介绍了jQuery实现圣诞节礼物传送(花式轮播)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

大致介绍

下午看到了一个送圣诞礼物的小动画,正好要快到圣诞节了,就动手模仿并改进了一些小问题

原地址:

思路

:动画中一共有五个礼物,他们平均分布在屏幕中,设置最外边的两个礼物旋转一定的角度并隐藏,动画开始,每个礼物向右移动一定的位置,然后再把第五个礼物
添加到第一个礼物之前,这样这五个礼物就重新排列了,在写jQ时只管礼物位置的变化就行了,因为礼物的旋转和隐藏在样式中都已经设置好了,某个礼物如果成为第一个礼物就会自动隐藏旋转

基本结构

代码

样式

在css中用到了:first 和 :last 属性,这两个属性是动态的,如果文档的结构变了,这两个属性的值也会相应的改变,这样我们就不必再麻烦的判断哪个元素是最后一个元素(第一个元素),直接用这两个属性就会自动选择第一个元素和最后一个元素

jQuery代码

在源码中,作者将这个五个礼物的初始位置写在了HTML结构中,我觉得不太好就在jQuery的代码中实现了,代码没有什么难的,就是对思路的实现

图片,切换图片 $('#cr-icon img').click(function(){ if($(this).attr('src') == 'img/gift2.png'){ $(this).attr('src','img/gift.png'); }else{ $(this).attr('src','img/gift2.png'); } }); var timer = null; var oImg = $('#cr-icon img'); var end = document.body.clientWidth; var height = document.body.scrollHeight; // 设置高 $(".cr").css("height",height); // 设置图片的初始位置 for(var i=0;i图片轮换函数 function scrolllogo(){ oImg.each(function(){ var left = parseInt($(this).css('left')); left += end * 0.2; $(this).css('left',left); }); $('#cr-icon img:last').insertBefore('#cr-icon img:first').css('left',end * 0.05); } scrolllogo(); // 定时器,开始轮换 timer = setInterval(scrolllogo,1800); // 鼠标移入清楚轮换 oImg.mouSEOver(function(){ clearInterval(timer); }); // 鼠标移出开始轮换 oImg.mouseleave(function() { timer = setInterval(scrolllogo,1800); }); });

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程之家!

猜你在找的jQuery相关文章