jqueryアップシームレスなマルチキャストを実現
8561 ワード
ここに記録しておくと、後で1を使うのに便利です.htmlスタイルは自分でレイアウトすればいい
cssスタイル
jsファイル
htmlは速度を操作することもできます
これからはシームレスにアップして、直接持ってきて使うことができます.
"myscroll">
- "dixian"> ...
- "dixian"> ...
- "dixian"> ...
- "dixian"> ...
- "dixian"> ...
- "dixian"> ...
- "dixian"> ...
- "dixian"> ...
- "dixian"> ...
- "dixian"> ...
cssスタイル
.myscroll {
background-color: white;
height: 300px;
margin: 0 auto;
border: 1px solid #ccc;
line-height: 30px;
font-size: 12px;
overflow: hidden;
}
jsファイル
(function($){
$.fn.myScroll = function(options){
//
var defaults = {
speed:40, // ,
rowHeight:24 //
};
var opts = $.extend({}, defaults, options),intId = [];
function marquee(obj, step){
obj.find("ul").animate({ marginTop: '-=1' },0,function(){ var s = Math.abs(parseInt($(this).css("margin-top"))); if(s >= step){ $(this).find("li").slice(0, 1).appendTo($(this)); $(this).css("margin-top", 0); } });
}
this.each(function(i){ var sh = opts["rowHeight"],speed = opts["speed"],_this = $(this); intId[i] = setInterval(function(){ if(_this.find("ul").height()<=_this.height()){ clearInterval(intId[i]); }else{ marquee(_this, sh); } }, speed); _this.hover(function(){ clearInterval(intId[i]); },function(){ intId[i] = setInterval(function(){ if(_this.find("ul").height()<=_this.height()){ clearInterval(intId[i]); }else{ marquee(_this, sh); } }, speed); }); });
}
})(jQuery);
htmlは速度を操作することもできます
<script>
$(function(){
$('.myscroll').myScroll({
speed: 30, // ,
//rowHeight: 26 //li
});
});
script>
これからはシームレスにアップして、直接持ってきて使うことができます.