<script>
var
speed=40;//滚动速度
var
AdLayer1="dd1";//左侧div的ID
var
AdLayer2="dd2";//右侧div的ID
function
initEcAd()
{
documentgetElementById(AdLayer1)styleposTop
=
-200;
documentgetElementById(AdLayer1)stylevisibility
=
'visible'
documentgetElementById(AdLayer2)styleposTop
=
-200;
documentgetElementById(AdLayer2)stylevisibility
=
'visible'
MoveLeftLayer(AdLayer1);
MoveRightLayer(AdLayer2);
}
function
MoveLeftLayer(layerName)
{
var
x
=
5;//左侧广告maring-left值
var
y
=
100;//
左侧广告距离页首高度
var
diff
=
(documentbodyscrollTop
+
y
-
documentgetElementById(AdLayer1)styleposTop)40;
var
y
=
documentbodyscrollTop
+
y
-
diff;
eval("documentgetElementById('"
+
layerName
+"')styleposTop
=
parseInt(y)");
eval("documentgetElementById('"
+
layerName
+
"')styleposLeft
=
x");
setTimeout("MoveLeftLayer(AdLayer1);",
speed);
}
function
MoveRightLayer(layerName)
{
var
x
=
5;
var
y
=
100;//
右侧广告距离页首高度
var
diff
=
(documentbodyscrollTop
+
y
-
documentgetElementById(AdLayer2)styleposTop)40;
var
y
=
documentbodyscrollTop
+
y
-
diff;
eval("documentgetElementById('"
+
layerName
+
"')styleposTop
=
y");
eval("documentgetElementById('"
+
layerName
+
"')styleposRight
=
x");
setTimeout("MoveRightLayer(AdLayer2);",
speed);
}
</script>
<body
onload="initEcAd()">
<div
id=dd1
style="position:
absolute;visibility:hidden;z-index:1;
border:1px
solid
red;
height:200px;
width:100px"></div>
<div
id=dd2
style="position:
absolute;visibility:hidden;z-index:1;
border:1px
solid
red;
height:200px;
width:100px"></div>
<div
style="height:2000px"></div>
</body>
<script>
</script>
我们一般都用Marquee标签控制元素的滚动 但是单向的Marquee滚动是不连续的 每滚完一幕 就会出现一次空白 而下面介绍中的滚动则是连续的 毫不间断
下面为你介绍这是如何实现的
为了滚动能够 连续 我们需要将字幕的内容复制多遍 直到内容的高度不小于滚 动区高度的两倍 然后我们将溢出的滚动条隐藏掉 用代码控制滚动条向下移动(这时内容将向上移动) 当滚动条滚动到最下方时 理论上不能再往下滚动了 于是我们立刻调整滚动条 将它向上滚动到一个和当前画面一样的位置 结果我们看到的就是连续的滚动了 呵呵 说的就是这么简单 那做起来如何呢?我们看看是如何逐步实现的
<div id= marquees > <! 这些是字幕的内容 你可以任意定义 > <a # >链接一</a><br> <a # >链接二</a><br> <a # >链接三</a><br> <a # >链接四</a><br> <! 字幕内容结束 ></div> <! 以下是java script代码 ><script language= java script ><! marqueesHeight= ; //内容区高度stopscroll=false; //这个变量控制是否停止滚动with(marquees){noWrap=true; //这句表内容区不自动换行style width= ; //于是我们可以将它的宽度设为 因为它会被撑大style height=marqueesHeight;style overflowY= hidden ; //滚动条不可见onmouseover=new Function( stopscroll=true ); //鼠标经过 停止滚动onmouseout=new Function( stopscroll=false ); //鼠标离开 开始滚动}//这时候 内容区的高度是无法读取了 下面输出一个不可见的层 templayer 稍后将内容复制到里面 document write( <div id= templayer ></div> );function init(){ //初始化滚动内容//多次复制原内容到 templayer 直到 templayer 的高度大于内容区高度 while(templayer offsetHeight<marqueesHeight){templayer innerHTML+=marquees innerHTML;} //把 templayer 的内容的 两倍 复制回原内容区 marquees innerHTML=templayer innerHTML+templayer innerHTML;//设置连续超时 调用 scrollUp() 函数驱动滚动条 setInterval( scrollUp() );}document body onload=init;preTop= ; //这个变量用于判断滚动条是否已经到了尽头function scrollUp(){ //滚动条的驱动函数if(stopscroll==true) return; //如果变量 stopscroll 为真 则停止滚动 preTop=marquees scrollTop; //记录滚动前的滚动条位置marquees scrollTop+= ; //滚动条向下移动一个像素//如果滚动条不动了 则向上滚动到和当前画面一样的位置//当然不仅如此 同样还要向下滚动一个像素(+ ) if(preTop==marquees scrollTop){marquees scrollTop=templayer offsetHeight marqueesHeight+ ;}} ></script> lishixinzhi/Article/program/Java/JSP/201311/19771
vb滚动条有两种改变滚动条移动速度的属性:largechange
smallchange
largechange
当用户单击滚动条上的滑动箭头和滚动滑块之间的区域时,value
属性值的该变量。
smallchange
当用户单击滚动箭头时value属性值的改变量。
两者都可以在属性窗口更改也可以在编程时设置,
比如Hscroll1Smallchange
=
2
或者
Hscroll1Largechange
=
2
DataGrid的HorizontalScrollBarVisibility="Visible"只有在内容超出是显示,你是要使用显示?内容不超出的时候也显示但是不可用的效果吗?
如需始终显示,需要修改DataGrid的模板。
原始模板中的滚动条代码如下:
<ScrollBar x:Name="PART_HorizontalScrollBar"GridColumn="1"
Maximum="{TemplateBinding ScrollableWidth}"
Orientation="Horizontal"
Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"
Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
ViewportSize="{TemplateBinding ViewportWidth}"/>
Visibility绑定的是ComputedHorizontalScrollBarVisibility,修改这个属性即可。
1、插入文本框
2、在文本框上点右键选属性
3、设置如下参数
MultiLine = True(多来行显示,不设此项回源车不按行)
ScrollBars = 3 - fmScrollBarsBoth(滚动条,百3是水平垂直滚动条都有)
WordWrap = False(自动换行,不改此项不会出现水平滚动条,因为换行了)
4、关闭设计模式(度就是在设计模式按钮上点一下)
OK了。
画一个Picture1、VScroll1、HScroll1,再在Picture1里画一个Image1。将Image1的Stretch设为False,AutoSize(如果有这个属性的话)设为True,Left、Top都设为0,要放到Image1中。将VScroll1、HScroll1的Min都设为0。
在Form_Load中打
VScroll1Max = Image1Height - Picture1ScaleHeight
HScroll1Max = Image1Width - Picture1ScaleWidth
在VScroll1的Scroll中打
Image1Top = 0 - VScroll1Value
在HScroll1的Scroll中打
Image1Left = 0 - HScroll1Value
最后要注意以上代码要求Image1中的大小必须超过Picture1所能显示的范围,而且Image1中的不宜过大,否则会报错。
1、在html中定义好一个dom标签,可以是body或者div等等。
2、给dom元素设置相应的宽度,可以用style中的width。
3、再给dom元素设置overflow属性,水平滚动条就是overflow-x:scroll。这样当元素中的内容超出设置的宽度时就会出现滚动条。
示例:
<div style="overflow-x:scroll;width:200px;white-space:nowrap;">当内容超出设定的宽度时自动出现横向滚动条</div>
QTableWidget控件可以通过两个函数内部的滚动条控件
QScrollBar verticalScrollBar() const 获得垂直滚动条控件
QScrollBar horizontalScrollBar() const 获得水平滚动条控件
滚动条控件是QScrollBar类型;
通过滚动条控件的void setValue(int)函数,可以修改滚动条的滚动位置。
注意QScrollBar的滚动位置不要超过minimum()和maximum()的范围。
欢迎分享,转载请注明来源:表白网
评论列表(0条)