我用datalist做了一个用户控件连接图片,然后把这个控件添加到主页面中,怎样使用javascript来实现图片的无缝滚动啊,在网上查了很多代码,就是不能用?下面附一段代码也是不能用:解决.NET控件-DataList控件无缝滚动图片解决问题:1.无缝滚动;2.页面初始时图片显示页面上,而不是才从一个方向出来。
将绑定数据绑定到DataList 控件后。其他数据控件也可使用此方法。
页面源代码:<div id="demo" style="OVERFLOW: hidden;">
<table cellpadding="0" cellspacing="0" width="778px">
<tr>
<td id="demo1">
<uc8:picXianshi id="PicXianshi1" runat="server" ></uc8:picXianshi>
</td>
//这里很重要,需要一列来滚动图片
<td id="demo2"></td>
</tr>
</table>
</div>
//滚动代码
<script type="text/javascript" language="javascript">
//滚动速度
var speed=20
demo2.innerHTML=demo1.innerHTML
//从右至左
function Marquee(){
if(demo1.offsetWidth-demo.scrollLeft<=0)
demo.scrollLeft=0
else
demo.scrollLeft++
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function(){clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>
将绑定数据绑定到DataList 控件后。其他数据控件也可使用此方法。
页面源代码:<div id="demo" style="OVERFLOW: hidden;">
<table cellpadding="0" cellspacing="0" width="778px">
<tr>
<td id="demo1">
<uc8:picXianshi id="PicXianshi1" runat="server" ></uc8:picXianshi>
</td>
//这里很重要,需要一列来滚动图片
<td id="demo2"></td>
</tr>
</table>
</div>
//滚动代码
<script type="text/javascript" language="javascript">
//滚动速度
var speed=20
demo2.innerHTML=demo1.innerHTML
//从右至左
function Marquee(){
if(demo1.offsetWidth-demo.scrollLeft<=0)
demo.scrollLeft=0
else
demo.scrollLeft++
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function(){clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>
var $ = function (id) {
return "string" == typeof id ? document.getElementById(id) : id;
};var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}Object.extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}function addEventHandler(oTarget, sEventType, fnHandler) {
if (oTarget.addEventListener) {
oTarget.addEventListener(sEventType, fnHandler, false);
} else if (oTarget.attachEvent) {
oTarget.attachEvent("on" + sEventType, fnHandler);
} else {
oTarget["on" + sEventType] = fnHandler;
}
};
var Scroller = Class.create();
Scroller.prototype = {
initialize: function(idScroller, idScrollMid, idScrollLeft, idScrollRight, options) {
var oScroll = this, oScroller = $(idScroller), oScrollMid = $(idScrollMid);
this.widthScroller = oScroller.offsetWidth;
this.widthList = oScrollMid.offsetWidth;
if(this.widthList <= this.widthScroller) return;
oScroller.style.overflow = "hidden";
oScrollMid.appendChild(oScrollMid.cloneNode(true));
this.oScroller = oScroller;
this.scroll = true;
this.SetOptions(options);
this.side = 1;//1是左 -1是右
switch (this.options.Side) {
case "right" :
this.side = -1;
break;
case "left" :
default :
this.side = 1;
}
addEventHandler(oScrollMid , "mouseover", function() { oScroll.scroll = false; });
addEventHandler(oScrollMid , "mouseout", function() { oScroll.scroll = true; });
if(idScrollLeft) { addEventHandler($(idScrollLeft), "click", function() { oScroll.side = 1; }); }
if(idScrollRight) { addEventHandler($(idScrollRight), "click", function() { oScroll.side = -1; }); }
this.Scroll();
},
//设置默认属性
SetOptions: function(options) {
this.options = {//默认值
Step: 1,//每次变化的px量
Time: 50,//速度
Side: "left"//默认滚动方向
};
Object.extend(this.options, options || {});
},
//滚动
Scroll: function() {
if (this.scroll) {
var iScroll = this.oScroller.scrollLeft, iWidth = this.widthList;
if(this.side > 0){
if(iScroll >= (iWidth * 2 - this.widthScroller)){ iScroll -= iWidth; }
} else {
if(iScroll <= 0){ iScroll += iWidth; }
}
this.oScroller.scrollLeft = iScroll + this.options.Step * this.side;//注意scrollLeft超过1400会自动变回1400 注意长度
}
var oScroll = this; window.setTimeout(function(){ oScroll.Scroll(); }, this.options.Time);
}
};window.onload = function(){
new Scroller("idScroller","idScrollMid", "idScrollLeft", "idScrollRight");
}
</script>
<table>
<tr>
<td id=demo1 valign=top>
========================在这个地方放图片======================ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
</td>
<td id=demo2 valign=top></td>
</tr></table>
</div>
<script>
var speed=10
demo2.innerHTML=demo1.innerHTML
function Marquee(){
if(demo2.offsetWidth-demo.scrollLeft<=0)
demo.scrollLeft = 0;
else{
demo.scrollLeft++
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script> <div id="maq" style="overflow:hidden;height:100px;width:150px; cursor:hand;">
<div id="mtext">
1.文字也是可以连续滚动的<br>
2.文字也是可以连续滚动的<br>
3.文字也是可以连续滚动的<br>
4.文字也是可以连续滚动的<br>
5.文字也是可以连续滚动的<br>
6.文字也是可以连续滚动的<br>
</div>
<div id=m0></div>
</div> <script>
var speed=40 //调整滚动速度
m0.innerHTML=mtext.innerHTML
function Marquee(){
if(m0.offsetTop-maq.scrollTop<=0)
maq.scrollTop-=mtext.offsetHeight
else{
maq.scrollTop++
}
}
var MyMar=setInterval(Marquee,speed)
maq.onmouseover=function() {clearInterval(MyMar)}
maq.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>上下滚动,左右滚动都有 ,希望对你有帮助
<div id="dmo_1" style="height:135px; width:660px;overflow:hidden; background-color:#F4F7FC">
<ul id="dmo_1_u" style="margin-left:-2px;">
<!--这里datalist图片列表-->
<li style="width:130px; height:120px; overflow:hidden; top:0px; left:0px;float:left; margin-left:2px; margin-right:2px;background-color:#F4F7FC">
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<tr>
<td align="center">
<a href="#" target="_blank" title="红茶沟公园 "><img src="/files/shortpictures/2011-4/201142933319.jpg" width="120" height="90" border="0" style="padding:2px;border:1px solid #CCCCCC" />
</a>
</td>
</tr>
<tr>
<td align="center"><a href="#" target="_blank" title="红茶沟公园 ">红茶沟公园 </a></td>
</tr>
</table>
</li>
<!--End这里图片列表-->
</ul>
</div>
<!--这里的代码一定要放在table外图片滚动-->
<script>
var speed=30
var MyMar;
var n=0;
var len=document.getElementById("dmo_1_u").getElementsByTagName("li").length;
if(len>=5)
{
document.getElementById("dmo_1_u").innerHTML=document.getElementById("dmo_1_u").innerHTML + document.getElementById("dmo_1_u").innerHTML;
document.getElementById("dmo_1_u").style.width=(135 * len * 2) + "px";
MyMar=setInterval(Marquee,speed)
}
function Marquee(){
if(document.getElementById("dmo_1").scrollLeft>=(document.getElementById("dmo_1").scrollWidth/2 -10))
{
document.getElementById("dmo_1").scrollLeft=0;
}
else{
document.getElementById("dmo_1").scrollLeft=document.getElementById("dmo_1").scrollLeft + 1;
}
}
document.getElementById("dmo_1").onmouseover=function(){
clearInterval(MyMar);
}
document.getElementById("dmo_1").onmouseout=function(){
MyMar=setInterval(Marquee,speed);
}
</script>
<title>javascript无缝滚动</title>
<meta charset="utf-8"/>
<meta name="keywords" content="javascript无缝滚动" />
<meta name="description" content="javascript无缝滚动" />
<base href="http://images.cnblogs.com/cnblogs_com/rubylouvre/199042/">
<style type="text/css">
h1 {
font:400 16px/1 "Microsoft YaHei",KaiTi_GB2312,SimSun
}
#marquee ,#marquee li {
padding:0;
margin:0;
}
#marquee {
position:relative;
list-style:none;
height:150px;
width:200px;
overflow:hidden;
border:10px solid #8080C0;
}
#marquee li {
position:absolute;
width:1000%;
}
#marquee a {
float:left;
}
#marquee img {
display:block;
border:0;
}
</style>
<script type="text/javascript">
var Marquee = function(id){
try{document.execCommand("BackgroundImageCache", false, true);}catch(e){};
var container = document.getElementByIdx(id),
slide = container.getElementsByTagName_r("li")[0],
speed = arguments[1] || 10;
slide.innerHTML += slide.innerHTML;
var item = slide.getElementsByTagName_r("a"),
critical = item[item.length/2].offsetLeft,//临界值
delta = 0;
var rolling = function(){
delta == -critical ? delta = 0 : delta--;
slide.style.left = delta + "px";
}
var timer = setInterval(rolling,speed)//设置定时器
container.onmouseover=function() {clearInterval(timer)}//鼠标移到marquee上时,清除定时器,停止滚动
container.onmouseout=function() {timer=setInterval(rolling,speed)}//鼠标移开时重设定时器
}
window.onload = function(){
Marquee("marquee");
}
</script>
<h1>javascript无缝滚动(向左滚动) by 司徒正美</h1>
<base href="http://images.cnblogs.com/cnblogs_com/rubylouvre/199042/">
<ul id="marquee">
<li>
<a href="http://www.cnblogs.com/rubylouvre/"><img src="o_s017.jpg" alt="无缝滚动"/></a>
<a href="http://www.cnblogs.com/rubylouvre/"><img src="o_s018.jpg" alt="无缝滚动"/></a>
<a href="http://www.cnblogs.com/rubylouvre/"><img src="o_s019.jpg" alt="无缝滚动"/></a>
<a href="http://www.cnblogs.com/rubylouvre/"><img src="o_s020.jpg" alt="无缝滚动"/></a>
<a href="http://www.cnblogs.com/rubylouvre/"><img src="o_s021.jpg" alt="无缝滚动"/></a>
<a href="http://www.cnblogs.com/rubylouvre/"><img src="o_s022.jpg" alt="无缝滚动"/></a>
<a href="http://www.cnblogs.com/rubylouvre/"><img src="o_s023.jpg" alt="无缝滚动"/></a>
</li>
</ul>