【JAVASCRIPT】jquery实现新闻滚动效果
前台框架如下:
1 <h3>最新新闻</h3> 2 <div class="scrollNews" > 3 <ul> 4 <li><a href="#" class="tooltip" title="甜美宽松毛衣今秋一定红.">甜美宽松毛衣今秋一定红.</a></li> 5 <li><a href="#" class="tooltip" title="秋装百搭小马甲不到50元.">秋装百搭小马甲不到50元.</a></li> 6 <li><a href="#" class="tooltip" title="修身韩版小西装万人疯抢.">修身韩版小西装万人疯抢.</a></li> 7 <li><a href="#" class="tooltip" title="夏末雪纺店主含泪大甩卖.">夏末雪纺店主含泪大甩卖.</a></li> 8 <li><a href="#" class="tooltip" title="瑞丽都疯狂推荐的秋装.">瑞丽都疯狂推荐的秋装.</a></li> 9 <li><a href="#" class="tooltip" title="48元长款针织小开衫卖疯啦.">48元长款针织小开衫卖疯啦.</a></li> 10 <li><a href="#" class="tooltip" title="长袖雪纺衫单穿内搭都超美.">长袖雪纺衫单穿内搭都超美.</a></li> 11 </ul> 12 </div>
CSS定义如下:
1 <style type="text/css"> 2 *{ margin:0; padding:0;} 3 .scrollNews{width:256px;height:85px;overflow:hidden;background:#FFFFFF;border: 1px solid #AAAAAA;} 4 .scrollNews ul{padding:10px 0 5px 15px;} 5 .scrollNews ul li{ height:20px;list-style-type:none; font-size:small;} 6 a{text-decoration:none;} 7 </style>
这里需要注意的是*{ margin:0; padding:0;} 的使用。margin:设置外边距。padding:设置内边距。如果不使用此属性,在后面写JS代码时会破坏页面,因为div中有默认的内外边距;
JAVASCRIPT代码如下:
1 <script type="text/javascript"> 2 $(function () { 3 var settime; 4 $(".scrollNews").hover(function () { 5 clearInterval(settime); 6 }, function () { 7 settime = setInterval(function () { 8 var $first = $(".scrollNews ul:first"); //选取div下的第一个ul 而不是li; 9 var height = $first.find("li:first").height(); //获取第一个li的高度,为ul向上移动做准备; 10 $first.animate({ "marginTop": -height + "px" }, 600, function () { 11 $first.css({ marginTop: 0 }).find("li:first").appendTo($first); //设置上边距为零,为了下一次移动做准备 12 }); 13 }, 3000); 14 }).trigger("mouseleave"); //trigger()方法的作用是触发被选元素的制定事件类型 15 }); 16 </script>
在写JS代码之前不要忘记引入jquery-1.4.2.js;