或(||) expr1 || expr2 如果 expr1 为真则返回之,否则返回 expr2。
解决方案 »
- 请教各位在静态页面中怎么显示flv格式的视频?
- onkeyup="value=value.replace(/[^\d]/g,'')"?
- 关于jQuery的load()事件
- 一个关于JS的问题 在线等待
- 如何实现滚动栏中信息的最后一个字符消失后,原信息就从头开始滚动出现?
- Datalist中行数据显示随机色
- window 对象有 parent 也就是它的父窗口.怎么判断一个 window 有没有 parent 也就是怎么判断一个 window 是不是最上层的 window 呢?
- 调用脚本之后对齐的问题
- 求救!在线等,关于密码验证
- 请问这个简单的功能怎么实现?谢谢了先
- 关于昨天Free_Wind22您帮我改的代码,再次求教
- JS列值计算。
这里控制时间.
//声明变量
var intervalId = null;
//定义方法
function slideAd(id,nStayTime,sState,nMaxHth,nMinHth)
{
this.stayTime=nStayTime*500 || 100;
this.maxHeigth=nMaxHth || 490;
this.minHeigth=nMinHth || 1;
this.state=sState || "down" ;
var obj = document.getElementById(id);
//如果不为null 则删除setInterval 产生的对象
if(intervalId != null)window.clearInterval(intervalId);
function openBox()
{
var h = obj.offsetHeight;
obj.style.height = ((this.state == "down") ? (h + 10) : (h - 10))+"px";
if(obj.offsetHeight>this.maxHeigth)
{
window.clearInterval(intervalId);
//调用closeBox方法
intervalId=window.setInterval(closeBox,this.stayTime);
}
if (obj.offsetHeight<this.minHeigth)
{
window.clearInterval(intervalId);
obj.style.display="none";
}
}
function closeBox()//
{
slideAd(id,this.stayTime,"up",nMaxHth,nMinHth);
}
//每隔10毫秒调用下openBox方法
intervalId = window.setInterval(openBox,10);
}
<head>
<title>Test</title>
<style type="text/css">
body{
margin: 0px;
padding: 0px;
}
</style> </head>
<body onload="">
<div id="pic" style="height: 200px; width:300px; border: solid red 1px;overflow: hidden">
<!--img src="http://avatar.profile.csdn.net/2/5/E/2_sunxing007.jpg" /-->
</div>
</body>
<script>
var intervalId = null;//定时器function slideAd(id,nStayTime,sState,nMaxHth,nMinHth)
{
this.stayTime=nStayTime*500 || 100;//如果参数中有nStayTime,则stayTime = (stayTime乘以500), 否则取值为stayTime=100。
this.maxHeigth=nMaxHth || 490;//整个广告的最大高度
this.minHeigth=nMinHth || 1;//;//整个广告的最xiao高度
this.state=sState || "down" ;//方向
var obj = document.getElementById(id);//展示广告的容器,我用的是上面的div (id=pic),
if(intervalId != null)window.clearInterval(intervalId);//如果正在运行,则中指定时器
function openBox()
{
var h = obj.offsetHeight;//容器的高度
obj.style.height = ((this.state == "down") ? (h + 10) : (h - 10));//如果方向朝下,则每次高度+10,否则-10
if(obj.offsetHeight>this.maxHeigth)//如果大于最大高度了,则开始变小
{
window.clearInterval(intervalId);
intervalId=window.setInterval(closeBox,this.stayTime);
}
if (obj.offsetHeight<this.minHeigth)
{
window.clearInterval(intervalId);
obj.style.display="none";
}
}
function closeBox()//
{
slideAd(id,this.stayTime,"up",nMaxHth,nMinHth);
}
intervalId = window.setInterval(openBox,10);
}
slideAd('pic');//开始调用
// slideAd('pic', 2,'down',500, 100);//也可以这样调用
</script>
</html>
this.maxHeigth=nMaxHth || 490;//整个广告的最大高度
如果再上下文中可以找到nMaxHth,并且nMaxHth!=false,nMaxHth!=null, nMaxHth!=0, 则:
表达式nMaxHth || 490 就可以取左边的值,否则取右边的值。