一个面向对象的js问题 大家帮忙看看
2011-09-28 14:49
666 查看
想自己实现一个js图片的滚动效果 主要是根据dom_drag 这个插件 依葫芦画瓢 模仿下
/**
* @author jiashu
*/
var slide = {
obj:null,
obj_child1:null,
obj_child2:null,
time_id : null,
//div_id 住容器的ID scro_direction 图片滚动方向 speed 滚动速度
init:function(div_id,scro_direction,speed,width,height){
if(document.getElementById(div_id)==null){return false;}
var container = document.getElementById(div_id);//
var inner_html = container.innerHTML;
container.innerHTML = "";
var container_c1 = this.create_container("div",div_id+"1",inner_html);
this.obj_child1 = container_c1;//对第一个字容器进行处理
var container_c2 = this.create_container("div",div_id+"2",inner_html);
this.obj_child2 = container_c2;//对第二个子容器处理
container.appendChild(container_c1);
container.appendChild(container_c2);
container.style.overflow = "hidden";
container.style.width = width;
container.style.height = height;
container.scro_direction = scro_direction;
container.speed = speed;
this.start.call(container);
container.onmouseout = slide.start;
container.onmouseover = slide.stop;
},
stop : function(){
clearInterval(slide.time_id);
},
start:function(){
var con = slide.obj = this;
slide.time_id = setInterval(slide.top_do,con.speed);
},
top_do:function(){
if(slide.obj_child2.offsetTop- slide.obj.scrollTop <=0){
slide.obj.scrollTop -= slide.obj_child1.offsetHeight;
}
else {slide.obj.scrollTop ++;}
},
create_container:function(type,id,innerHTML){
var new_container = document.createElement(type);
new_container.id = id;
new_container.innerHTML = innerHTML;
return new_container;
}}
HTML代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>img_slide</title>
<script type="text/javascript" src="javascripts/slide.js"></script>
<script type="text/javascript">
window.onload = function(){
slide.init('con','top',30,'200px','200px');
//slide.init('coe','top',30,'200px','200px');
}
</script>
</head>
<body>
<h1>New Web Project Page</h1>
<div id="con">
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
</div>
<div id="coe">
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
</div>
</body>
</html>
现在一个问题出现了:
window.onload = function(){
slide.init('con','top',30,'200px','200px');
//slide.init('coe','top',30,'200px','200px');
}
是可以的 但是 当初始化2个的时候 就出现问题了。。。请问大虾。。这怎么改叻。。。
/**
* @author jiashu
*/
var slide = {
obj:null,
obj_child1:null,
obj_child2:null,
time_id : null,
//div_id 住容器的ID scro_direction 图片滚动方向 speed 滚动速度
init:function(div_id,scro_direction,speed,width,height){
if(document.getElementById(div_id)==null){return false;}
var container = document.getElementById(div_id);//
var inner_html = container.innerHTML;
container.innerHTML = "";
var container_c1 = this.create_container("div",div_id+"1",inner_html);
this.obj_child1 = container_c1;//对第一个字容器进行处理
var container_c2 = this.create_container("div",div_id+"2",inner_html);
this.obj_child2 = container_c2;//对第二个子容器处理
container.appendChild(container_c1);
container.appendChild(container_c2);
container.style.overflow = "hidden";
container.style.width = width;
container.style.height = height;
container.scro_direction = scro_direction;
container.speed = speed;
this.start.call(container);
container.onmouseout = slide.start;
container.onmouseover = slide.stop;
},
stop : function(){
clearInterval(slide.time_id);
},
start:function(){
var con = slide.obj = this;
slide.time_id = setInterval(slide.top_do,con.speed);
},
top_do:function(){
if(slide.obj_child2.offsetTop- slide.obj.scrollTop <=0){
slide.obj.scrollTop -= slide.obj_child1.offsetHeight;
}
else {slide.obj.scrollTop ++;}
},
create_container:function(type,id,innerHTML){
var new_container = document.createElement(type);
new_container.id = id;
new_container.innerHTML = innerHTML;
return new_container;
}}
HTML代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>img_slide</title>
<script type="text/javascript" src="javascripts/slide.js"></script>
<script type="text/javascript">
window.onload = function(){
slide.init('con','top',30,'200px','200px');
//slide.init('coe','top',30,'200px','200px');
}
</script>
</head>
<body>
<h1>New Web Project Page</h1>
<div id="con">
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
</div>
<div id="coe">
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
<p><img src="images/player.png"></p>
<p><img src="images/enemy.png"></p>
</div>
</body>
</html>
现在一个问题出现了:
window.onload = function(){
slide.init('con','top',30,'200px','200px');
//slide.init('coe','top',30,'200px','200px');
}
是可以的 但是 当初始化2个的时候 就出现问题了。。。请问大虾。。这怎么改叻。。。
相关文章推荐
- N皇后问题的一个程序,请大家看看!帮忙修改
- js调用asp时出现的郁闷问题,大家帮忙看看
- 一个ASP.NET2.0的问题,实在无法解决,请大家帮忙看看(放在首页一天后撤下,请DUDU原谅)问题已经解~~^_^
- 一个很急的问题!大家帮忙,散分!!!
- 我是新手,大家帮忙看看这个问题怎样解决,小弟先谢啦
- 大家来帮忙看看啊,为什么老是显示LINK : 没有找到 C:/Documents and Settings/Administrator/桌面/端口扫描/Debug/端口扫描.exe 或上一个增量链接没有生成它;正在执行完全链接
- 初接触c语言,请大家帮忙看看问题出在哪了!
- 一个可能存在Bug的二分查找方法的实现,大家一起看看有什么问题没
- 新手问题,大家帮忙看看..谁有意见散分给谁哦!
- 看朋友日志发现的一个ios下block相关的内存管理问题,很奇怪,请大家帮忙一起来回答!
- [VB.NET]请大家帮忙看看,多条件查询的问题
- 自己写了一个程序,不知道错那了,大家帮忙看看
- 大家进来看看这个问题 前几天的一个笔试题目
- 一个小点子,大家帮忙看看,有兴趣的单聊
- 大家帮忙看看 这个js怎么写?
- 一个为扩展过的自定义DataGridiew控件提供多行表头重绘所需的TreeNode和Columns代码,以满足列自动增加的功能。大家看看帮忙优化下
- 最近遇到一个非常棘手的需求是关于邮件转发的问题,请大家来帮忙给出出主意如何实现。
- 遇到一个问题,大家来看看
- 安装软件时出了个怪问题,我截了个图。大家帮忙看看
- 网站seo 的问题大家帮忙看看是什么原因。