在做pc网站的时候,有一些网站经常用到单行文字滚动效果和一些滑动切换效果。
以下是早前常用的最简单的两个效果,在此小笔记记录一下。原理都是基于jquery的animate方法实现,关于animate方法,它是用于创建自定义动画的函数,该方法可以通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。本题的效果就是利用这个原理实现的。
js:
//单行文字滚动一
var lineAutoScroll = function(obj){
var scrollTimer,
$obj = obj,
liheight = $(this).find("a").eq(0).height();
$obj.hover(function(){
clearInterval(scrollTimer);
}, function(){
scrollTimer = setInterval(function(){
$obj.animate({
marginTop : "-" + liheight + "px"
}, 500, function(){
$(this).css({ marginTop : "0px"}).find("a:first").appendTo(this);
});
}, 3000);
}).trigger("mouseleave");
}
//单行文字滚动二
function AutoScroll(obj) {
obj.each(function() {
if ($(this).find("a").size() > 1) {
var liheight = $(this).find("a").eq(0).height();
$(this).animate( {
marginTop : "-" + liheight + "px"
}, 500, function() {
$(this).css( {
marginTop : "0px"
}).find("a:first").appendTo(this)
})
}
})
}
$(function(){
var obj=$("#link-first");
lineAutoScroll(obj);
})
//简单图片幻灯片
$(function(){
var p = 0;
$("#slide-img li").css({"z-index":2,"opacity":0});
$("#slide-img li").eq(0).css({"z-index":100,"opacity":2});
$(".slide-switch span").click(function(){
play($(".slide-switch span").index(this));
});
function play(p){
$(".slide-switch span").eq(p).addClass("cur").siblings().removeClass("cur");
$("#slide-img li").eq(p).animate({'opacity':2},800).css({'z-index':100}).siblings().animate({'opacity':0},800).css({'z-index':2});
}
function autoplay(){
p = (p>1)?0:(p+1);
play(p);
}
var auto = setInterval(function(){ autoplay(p)},3000);
$("#slide-img").mouseover(function(){clearInterval(auto);})
$("#slide-img").mouseout (function(){auto = setInterval(function(){ autoplay(p)},3000);})
})
单行文字滚动效果:
简单滑动效果:
