`
txf2004
  • 浏览: 7066178 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

兼容ie和火狐的js无缝八向滚动特效代码

阅读更多
<iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-4490194096475053&amp;dt=1228720413234&amp;lmt=1228528485&amp;prev_slotnames=1891601125&amp;output=html&amp;slotname=3685991503&amp;correlator=1228720413187&amp;url=http%3A%2F%2Fwww.corange.cn%2Farchives%2F2008%2F10%2F1870.html&amp;ea=0&amp;ref=http%3A%2F%2Fwww.corange.cn%2Fhtml%2Fcorange__96.html&amp;frm=0&amp;ga_vid=954228698.1228720413&amp;ga_sid=1228720413&amp;ga_hid=1466930595&amp;flash=9.0.124.0&amp;u_h=768&amp;u_w=1024&amp;u_ah=715&amp;u_aw=1024&amp;u_cd=32&amp;u_tz=480&amp;u_java=true&amp;dtd=16" frameborder="0" width="300" scrolling="no" height="250" allowtransparency></iframe>
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JavaScript 无缝八向滚动(兼容ie/ff)</title>
</head>
<body>
<script type="text/javascript">
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, options) {
var oScroll = this, oScroller = $(idScroller), oScrollMid = $(idScrollMid);

this.SetOptions(options);
this.scroller = oScroller; //对象
this.timer = null; //时间
this.Side = []; //方向
this.side = 0; //参数

//方向设置
switch (this.options.Side.toLowerCase()) {
case "right-down" :
this.Side = ["right", "down"];
break;
case "right-up" :
this.Side = ["right", "up"];
break;
case "left-down" :
this.Side = ["left", "down"];
break;
case "left-up" :
this.Side = ["left", "up"];
break;
case "right" :
this.Side = ["right"];
break;
case "left" :
this.Side = ["left"];
break;
case "down" :
this.Side = ["down"];
break;
case "up" :
default :
this.Side = ["up"];
}

//用于上下滚动
this.heightScroller = parseInt(oScroller.style.height) || oScroller.offsetHeight;
this.heightList = oScrollMid.offsetHeight;

//用于左右滚动
this.widthScroller = parseInt(oScroller.style.width) || oScroller.offsetWidth;
this.widthList = oScrollMid.offsetWidth;

//js取不到css设置的height和width

oScroller.style.overflow = "hidden";
oScrollMid.appendChild(oScrollMid.cloneNode(true));
oScrollMid.appendChild(oScrollMid.cloneNode(true));

addEventHandler(oScroller, "mouseover", function() { oScroll.Stop(); });
addEventHandler(oScroller, "mouseout", function() { oScroll.Start(); });

this.Start();
},
//设置默认属性
SetOptions: function(options) {
this.options = {//默认值
Step: 1,//每次变化的px量
Speed: 20,//速度(越大越慢)
Side: "up"//滚动方向:"up"是上,"down"是下,"left"是左,"right"是右
};
Object.extend(this.options, options || {});
},
//上下滚动
ScrollUpDown: function() {
this.scroller.scrollTop = this.GetScroll(this.scroller.scrollTop, this.heightScroller, this.heightList);

var oThis = this;
this.timer = window.setTimeout(function(){ oThis.Start(); }, this.options.Speed);
},
//左右滚动
ScrollLeftRight: function() {
//注意:scrollLeft超过1400会自动变回1400 注意长度
this.scroller.scrollLeft = this.GetScroll(this.scroller.scrollLeft, this.widthScroller, this.widthList);

var oThis = this;
this.timer = window.setTimeout(function(){ oThis.Start(); }, this.options.Speed);
},
//获取设置滚动数据
GetScroll: function(iScroll, iScroller, iList) {
if(this.side > 0){
if(iScroll >= (iList * 2 - iScroller)){ iScroll -= iList; }
} else {
if(iScroll <= 0){ iScroll += iList; }
}

return (iScroll + this.options.Step * this.side);
},
//开始
Start: function() {

this.Side.push(this.Side.shift().toLowerCase());

//document.getElementById("test").innerHTML+=s+",";

//方向设置
switch (this.Side[0].toLowerCase()) {
case "right" :
if(this.widthList < this.widthScroller) return;
this.side = -1;
this.ScrollLeftRight();
break;
case "left" :
if(this.widthList < this.widthScroller) return;
this.side = 1;
this.ScrollLeftRight();
break;
case "down" :
if(this.heightList < this.heightScroller) return;
this.side = -1;
this.ScrollUpDown();
break;
case "up" :
default :
if(this.heightList < this.heightScroller) return;
this.side = 1;
this.ScrollUpDown();
}
},
//停止
Stop: function() {
clearTimeout(this.timer);
}
};

window.onload = function(){
new Scroller("idScroller", "idScrollMid",{ Side:"left-down" });
new Scroller("idScroller1", "idScrollMid1",{ Side:"left-up" });
new Scroller("idScroller2", "idScrollMid2",{ Side:"right-down" });
new Scroller("idScroller3", "idScrollMid3",{ Side:"right-up" });

new Scroller("idScroller4", "idScrollMid4",{ Side:"left-up" });
new Scroller("idScroller5", "idScrollMid5",{ Side:"right-up" });
new Scroller("idScroller6", "idScrollMid6",{ Side:"left-down" });
new Scroller("idScroller7", "idScrollMid7",{ Side:"right-down" });

new Scroller("idScroller8", "idScrollMid8",{ Side:"right-down" });
new Scroller("idScroller9", "idScrollMid9",{ Side:"left-down" });
new Scroller("idScroller10", "idScrollMid10",{ Side:"right-up" });
new Scroller("idScroller11", "idScrollMid11",{ Side:"left-up" });
}
</script>
<style>
*{}{margin:0px; padding:0px;}

.Scroller {}{line-height:50px;overflow:hidden; border:1px solid #000000;}
.ScrollMid {}{float:left;}
.ScrollMid ul{}{width:250px;float:left;overflow:hidden;}
.ScrollMid li{}{list-style:none;}

.Scroller2 {}{overflow:hidden;float:left;}
.ScrollMid2 {}{float:left;}
.ScrollMid2 ul{}{width:100px;height:100px;float:left;overflow:hidden;}
.ScrollMid2 li{}{list-style:none; width:100px; height:100px;}
</style>
<div id="idScroller" class="Scroller" style="width:250px; height:50px;">
<div style="width:500px">
<div id="idScrollMid" class="ScrollMid">
<ul>
<li> <a href="http://shundebk.cn/">1111111111111111111111</a></li>
</ul>
</div>
</div>
</div>
<br />
<br />
<div id="idScroller1" class="Scroller" style="width:250px; height:50px;">
<div style="width:500px">
<div id="idScrollMid1" class="ScrollMid">
<ul>
<li> <a href="http://shundebk.cn/">1111111111111111111111</a></li>
</ul>
</div>
</div>
</div>
<br />
<br />
<div id="idScroller2" class="Scroller" style="width:250px; height:50px;">
<div style="width:500px">
<div id="idScrollMid2" class="ScrollMid">
<ul>
<li> <a href="http://shundebk.cn/">1111111111111111111111</a></li>
</ul>
</div>
</div>
</div>
<br />
<br />
<div id="idScroller3" class="Scroller" style="width:250px; height:50px;">
<div style="width:500px">
<div id="idScrollMid3" class="ScrollMid">
<ul>
<li> <a href="http://shundebk.cn/">1111111111111111111111</a></li>
</ul>
</div>
</div>
</div>


<br /><br />

<div style="width:200px;">
<div id="idScroller4" class="Scroller2" style="width:100px; height:100px;">
<div style="width:200px">
<div id="idScrollMid4" class="ScrollMid2">
<ul>
<li style="background:url(1.gif);"> </li>
</ul>
</div>
</div>
</div>
<div id="idScroller5" class="Scroller2" style="width:100px; height:100px;">
<div style="width:200px">
<div id="idScrollMid5" class="ScrollMid2">
<ul>
<li style="background:url(2.gif);"> </li>
</ul>
</div>
</div>
</div>
<div id="idScroller6" class="Scroller2" style="width:100px; height:100px;">
<div style="width:200px">
<div id="idScrollMid6" class="ScrollMid2">
<ul>
<li style="background:url(2.gif);"> </li>
</ul>
</div>
</div>
</div>
<div id="idScroller7" class="Scroller2" style="width:100px; height:100px;">
<div style="width:200px">
<div id="idScrollMid7" class="ScrollMid2">
<ul>
<li style="background:url(1.gif);"> </li>
</ul>
</div>
</div>
</div>
</div>

<br /><br />
<div style="width:200px;">
<div id="idScroller8" class="Scroller2" style="width:100px; height:100px;">
<div style="width:200px">
<div id="idScrollMid8" class="ScrollMid2">
<ul>
<li style="background:url(2.gif);"> </li>
</ul>
</div>
</div>
</div>
<div id="idScroller9" class="Scroller2" style="width:100px; height:100px;">
<div style="width:200px">
<div id="idScrollMid9" class="ScrollMid2">
<ul>
<li style="background:url(1.gif);"> </li>
</ul>
</div>
</div>
</div>
<div id="idScroller10" class="Scroller2" style="width:100px; height:100px;">
<div style="width:200px">
<div id="idScrollMid10" class="ScrollMid2">
<ul>
<li style="background:url(1.gif);"> </li>
</ul>
</div>
</div>
</div>
<div id="idScroller11" class="Scroller2" style="width:100px; height:100px;">
<div style="width:200px">
<div id="idScrollMid11" class="ScrollMid2">
<ul>
<li style="background:url(2.gif);"> </li>
</ul>
</div>
</div>
</div>
</div>
<div id="test"></div>
</body>
</html>
分享到:
评论

相关推荐

    兼容IE与火狐的js图片无缝滚动代码.zip

    标题中的“兼容IE与火狐的js图片无缝滚动代码”是指一种JavaScript编程技术,用于创建在不同浏览器(尤其是Internet Explorer和Firefox)上都能正常工作的图片滚动效果。这种效果通常是通过让图片在用户看不到的地方...

    向上下左右不间断无缝滚动图片的效果(兼容火狐和IE)

    本文将详细探讨如何实现一个“向上下左右不间断无缝滚动图片的效果”,并确保该效果在火狐(Firefox)和IE(Internet Explorer)浏览器上兼容。 首先,我们需要了解无缝滚动的核心原理。这种效果通常通过JavaScript...

    图片左右无缝滚动JS代码

    【描述】中提到,这个JS代码是开发者结合网络上的资源自行编写的,兼容了IE7、IE8以及Firefox和Chrome等现代浏览器。这意味着它不仅考虑到了老版本的Internet Explorer浏览器,还确保在主流的现代浏览器中运行良好,...

    javascript特效无缝滚动marquee

    JavaScript特效无缝滚动是一种常见的网页动态效果,常用于广告展示、新闻滚动等场景。...通过上述方法,我们可以创建出适应各种场景的JavaScript无缝滚动特效,同时确保良好的浏览器兼容性和性能。

    js多图循环滚动特效

    6. 兼容性处理:考虑到“适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗”,我们需要确保代码兼容这些浏览器。对于不支持CSS3或旧版IE的浏览器,可能需要使用jQuery或其他JavaScript...

    jquery多风格多功能滚动特效代码插件jquery.liMarquee.js下载.zip

    5. **兼容性好**:兼容主流浏览器,如Chrome、Firefox、Safari、Edge和IE8+。 6. **样式可定制**:允许开发者通过CSS自定义滚动元素的样式,实现个性化设计。 四、应用示例 1. **新闻滚动**:在网站首页,可以利用`...

    JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)

    在介绍的标题中提到“兼容IE,Firefox”,这说明在实现图片左右无缝隙滚动时,需要考虑不同浏览器的兼容性问题。Internet Explorer(IE)和Firefox是两个非常流行的浏览器,它们在解释执行JavaScript和CSS时可能有所...

    jQuery视觉差效果图片左右滚动轮播特效.zip

    10. **兼容性考虑**:考虑到浏览器之间的差异,特效实现时应确保在主流浏览器如Chrome、Firefox、Safari、Edge和旧版IE上都能正常工作。可能需要引入polyfills来弥补某些浏览器的兼容性问题。 总的来说,"jQuery...

    javascript经典特效---jQuery仿动感flash自动滚动图片切换广告插件.rar

    9. **兼容性**:jQuery库旨在提供跨浏览器的兼容性,这意味着此插件应能在主流的现代浏览器(如Chrome、Firefox、Safari、Edge和IE)中正常运行。 10. **API接口**:一个好的插件会提供一系列公开的API接口,允许...

    jquery文字向左无缝隙滚动

    5. **兼容性测试**:由于使用了jQuery,该实现方法理论上可以在所有主流浏览器中正常工作,包括IE6+、Firefox、Chrome、Safari和Opera等。 ### 四、优化与扩展 1. **动画平滑**:可以使用jQuery的`animate`方法,...

    超级经典一套鼠标控制左右滚动图片带自动翻滚

    最后,"图片滚动"和"向上下左右不间断无缝滚动图片的效果(兼容火狐和IE)"涉及的是图片轮播技术。图片轮播是一种让多张图片在一定时间内自动切换展示的方法,通常包含左右箭头控制,可以设置动画效果,使切换过程平滑...

    图片轮播特效

    3. 兼容性:支持多种浏览器,包括IE6及以上版本,以及现代浏览器如Chrome、Firefox、Safari等。 4. 容错机制:如果图片加载失败,插件会提供备用处理方式,避免影响整体效果。 使用`simplyScrollv2`进行图片轮播的...

    jqeury插件 图片特效

    5. **兼容性**:作为一款基于jQuery的插件,Parallax Slider应能与大多数现代浏览器兼容,包括Chrome、Firefox、Safari、Edge以及IE10+。 6. **易于集成**:对于开发者来说,安装和使用这个插件应该相对简单,只需...

    超酷的表单选择插件-pickout.js特效代码

    这款插件通常适用于现代浏览器,如Chrome、Firefox、Safari等,但对于较旧的浏览器可能需要额外的polyfill支持,以保证其在IE9及以上版本或其他非主流浏览器上的正常运行。同时,为了使插件与现有项目无缝集成,...

    全屏弹性伸缩广告.zip

    此外,考虑到兼容性问题,编写代码时需要确保其能在各种主流浏览器上正常运行,包括IE、Firefox、Chrome、Safari和Opera等。 总之,"全屏弹性伸缩广告.zip"文件提供了一种利用JavaScript实现的动态广告效果,通过...

Global site tag (gtag.js) - Google Analytics