要求鼠标经过时文字开始由下而上滚动,鼠标移开时还原到初始位置。滚动我这样写的:
<script type="text/javascript">
var wPAa;
function countryscrollUp(obj) {
document.getElementById("countrylist"+obj).scrollTop++;
}
</script>
<div class="kj-scroll" id="countrylist0" onmouseover="wPAa = setInterval('countryscrollUp(0)', 40)" onmouseout="clearInterval(wPAa)">1、只允许发布IT技术相关问题
2、认真清晰的提问,问题就解决了一半
3、避免提问内容全部代码没有说明
4、代码请使用代码编辑器插入
5、准确的Tag有助于专家高手发现问题
6、Tag最多5个,且单个长度不得大于30个字
7、悬赏园豆越多,您的问题会越受关注</div>
<div class="kj-scroll" id="countrylist1" onmouseover="wPAa = setInterval('countryscrollUp(1)', 40)" onmouseout="clearInterval(wPAa)">1、只允许发布IT技术相关问题
2、认真清晰的提问,问题就解决了一半
3、避免提问内容全部代码没有说明
4、代码请使用代码编辑器插入
5、准确的Tag有助于专家高手发现问题
6、Tag最多5个,且单个长度不得大于30个字
7、悬赏园豆越多,您的问题会越受关注</div>
能在这个基础上改动下最好,或者另外提供一个demo,先谢谢!
纵向滚动:http://www.codefans.net/jscss/code/1639.shtml
横向滚动:http://www.jb51.net/article/25820.htm
例子看了,和我这个差不多,我现在需要一个鼠标移开文字滚动还原到初始位置。不是移开滚动或者停止滚动的,还是谢谢你能回答。
@彳亍者:
嗯 这个也简单 用js添加鼠标事件就好,当鼠标移开的时候 ,把函数停掉就好
@xiaoxiao刀: onmouseout="clearInterval(wPAa)" 这个就是鼠标移开后停止滚动的函数,但是这个只停止,不还原到初始位置
@彳亍者:鼠标移入的时候记录下位置
@jello chen: 盲点?
有专门的css这样的样式 animate.css 开源的。不过需要支持css3的浏览器支持。
能给个demo最好了。。。
这个好使,试试吧
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
#d0{
position: absolute;
width: 300px;
height:60px;
overflow:hidden;
}
#a1{
position: absolute;
width: 300px;
height: 60px;
border: 1px solid #000000;
padding: 10px;
}
</style>
</head>
<body>
<div id="a1">
<div id="d0" >
<div id="d1">
<div>我吃西红柿</div>
<div>我吃鳕鱼浓汤</div>
<div>我吃意大利面</div>
<div>我吃西施牛排</div>
<div>我吃羊肉泡馍</div>
<div>我吃辣条</div>
<div>我吃兰州拉面</div>
<div>我吃沙琪玛</div>
<div>我吃旺旺</div>
</div>
<div id="d2"></div>
</div>
</div>
</body>
</html>
<script>
window.onload=function(){
var a1=document.getElementById("a1");
var v0=document.getElementById("d0");
var v1=document.getElementById("d1");
var v2=document.getElementById("d2");
v2.innerHTML=v1.innerHTML;
function fun1(){
if(v2.offsetTop-v0.scrollTop<=0){
v0.scrollTop=0;
}
else{
v0.scrollTop++;
}
}
var time;
document.getElementById('a1').onmouseover = function(e){
if( !e ) e = window.event;
var reltg = e.relatedTarget ? e.relatedTarget : e.fromElement;
while( reltg && reltg != this ) reltg = reltg.parentNode;
if( reltg != this ){
time=setInterval(fun1,30);
}
};
document.getElementById('a1').onmouseout = function(e){
if( !e ) e = window.event;
var reltg = e.relatedTarget ? e.relatedTarget : e.toElement;
while( reltg && reltg != this ) reltg = reltg.parentNode;
if( reltg != this ){
clearInterval(time);
v0.scrollTop=0;
}
}
}
</script>
谢谢,已经解决了,我钻牛角尖了。直接用他就解决了。
$(".kj-scroll").bind("mouseout", function (dom) {
dom.currentTarget.scrollTop = 0;
})
$(".kj-scroll").bind("mouseout", function (dom) {
dom.currentTarget.scrollTop = 0;
})
这个js放在元素的后面