Javascript 滚动新闻代码Jquery-问题
原始来源和示例: 你好!!滚动新闻代码Jquery,出现一些问题:Javascript 滚动新闻代码Jquery-问题,javascript,jquery,scroll,news-ticker,Javascript,Jquery,Scroll,News Ticker,原始来源和示例: 你好!!滚动新闻代码Jquery,出现一些问题: 第一期:Internet Explorer错误消息 “对象不支持此属性或方法”行:269:269) ticker.mouseenter(function(){/要添加分隔每个项目的行,请在css中添加边框底部:1px纯黑; 在阅读了你的问题之后,我想向你展示我在我的站点中使用的javascript方法,当鼠标移到上面时会停止 <div id="marqueecontainer" onMouseover="copyspe
第一期:Internet Explorer错误消息 “对象不支持此属性或方法”行:269:269)
ticker.mouseenter(function(){/要添加分隔每个项目的行,请在css中添加边框底部:1px纯黑;
在阅读了你的问题之后,我想向你展示我在我的站点中使用的javascript方法,当鼠标移到上面时会停止
<div id="marqueecontainer" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">
<div id="vmarquee" style="position: absolute; width: 98%;">
<!--YOUR SCROLL CONTENT HERE-->
<!--YOUR SCROLL CONTENT HERE-->
</div>
</div><style type="text/css">
#marqueecontainer{
position: relative;
width: 200px; /*marquee width */
height: 200px; /*marquee height */
background-color: white;
overflow: hidden;
border: 3px solid orange;
padding: 2px;
padding-left: 4px;
}
</style>
<script type="text/javascript">
var delayb4scroll=2000 //Specify initial delay before marquee starts to scroll on page (2000=2 seconds)
var marqueespeed=2 //Specify marquee scroll speed (larger is faster 1-10)
var pauseit=1 //Pause marquee onMousever (0=no. 1=yes)?
var copyspeed=marqueespeed
var pausespeed=(pauseit==0)? copyspeed: 0
var actualheight=''
function scrollmarquee(){
if (parseInt(cross_marquee.style.top)>(actualheight*(-1)+8))
cross_marquee.style.top=parseInt(cross_marquee.style.top)-copyspeed+"px"
else
cross_marquee.style.top=parseInt(marqueeheight)+8+"px"
}
function initializemarquee(){
cross_marquee=document.getElementById("vmarquee")
cross_marquee.style.top=0
marqueeheight=document.getElementById("marqueecontainer").offsetHeight
actualheight=cross_marquee.offsetHeight //height of marquee content (much of which is hidden from view)
if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1){ //if Opera or Netscape 7x, add scrollbars to scroll and exit
cross_marquee.style.height=marqueeheight+"px"
cross_marquee.style.overflow="scroll"
return
}
setTimeout('lefttime=setInterval("scrollmarquee()",30)', delayb4scroll)
}
if (window.addEventListener)
window.addEventListener("load", initializemarquee, false)
else if (window.attachEvent)
window.attachEvent("onload", initializemarquee)
else if (document.getElementById)
window.onload=initializemarquee
</script>
#马奎尔集装箱{
位置:相对位置;
宽度:200px;/*选框宽度*/
高度:200px;/*选框高度*/
背景色:白色;
溢出:隐藏;
边框:3倍纯色橙色;
填充:2px;
左侧填充:4px;
}
var delayb4scroll=2000//指定字幕开始在页面上滚动之前的初始延迟(2000=2秒)
var marqueespeed=2//指定选框滚动速度(越大,速度越快1-10)
var pauseit=1//mousever上的暂停选框(0=no.1=yes)?
var copyspeed=marqueespeed
var pausespeed=(pauseit==0)?复制速度:0
变量实际高度=“”
函数scrollmarquee(){
if(parseInt(cross_marquee.style.top)>(实际高度*(-1)+8))
cross_marquee.style.top=parseInt(cross_marquee.style.top)-copyspeed+“px”
其他的
cross_marquee.style.top=parseInt(marqueeheight)+8+“px”
}
函数初始化marquee(){
cross_marquee=document.getElementById(“vmarquee”)
交叉选框。样式。顶部=0
marqueeheight=document.getElementById(“marqueecontainer”).offsetHeight
实际高度=交叉选框。离视//选框内容的高度(大部分内容隐藏在视图中)
如果(window.opera | | | | navigator.userAgent.indexOf(“Netscape/7”)!=-1){//如果是opera或Netscape 7x,请添加滚动条以滚动并退出
交叉选框.样式.高度=选框高度+“px”
cross_marquee.style.overflow=“scroll”
返回
}
setTimeout('lefttime=setInterval(“scrollmarquee()”,30)”,delayb4scroll)
}
if(window.addEventListener)
window.addEventListener(“加载”,初始化为marquee,false)
else if(窗口附件)
window.attachEvent(“onload”,初始化为marquee)
else if(document.getElementById)
window.onload=initializemarquee
您可以在以下位置查看演示:
<script type="text/javascript">
$(function() {
//cache the ticker
var ticker = $("#ticker");
//wrap dt:dd pairs in divs
ticker.children().filter("dt").each(function() {
var dt = $(this),
container = $("<div>");
dt.next().appendTo(container);
dt.prependTo(container);
container.appendTo(ticker);
});
//hide the scrollbar
ticker.css("overflow", "hidden");
//animator function
function animator(currentItem) {
//work out new anim duration
var distance = currentItem.height();
duration = (distance + parseInt(currentItem.css("marginTop"))) / 0.020;
//animate the first child of the ticker
currentItem.animate({ marginTop: -distance }, duration, "linear", function() {
//move current item to the bottom
currentItem.appendTo(currentItem.parent()).css("marginTop", 0);
//recurse
animator(currentItem.parent().children(":first"));
});
};
//start the ticker
animator(ticker.children(":first"));
//set mouseenter
ticker.mouseenter(function() {
ticker.mouseenter(function() { // <---Line: 269
//stop current animation
ticker.children().stop();
});
//set mouseleave
ticker.mouseleave(function() {
//resume animation
animator(ticker.children(":first"));
});
});
</script>
<div id="marqueecontainer" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">
<div id="vmarquee" style="position: absolute; width: 98%;">
<!--YOUR SCROLL CONTENT HERE-->
<!--YOUR SCROLL CONTENT HERE-->
</div>
</div><style type="text/css">
#marqueecontainer{
position: relative;
width: 200px; /*marquee width */
height: 200px; /*marquee height */
background-color: white;
overflow: hidden;
border: 3px solid orange;
padding: 2px;
padding-left: 4px;
}
</style>
<script type="text/javascript">
var delayb4scroll=2000 //Specify initial delay before marquee starts to scroll on page (2000=2 seconds)
var marqueespeed=2 //Specify marquee scroll speed (larger is faster 1-10)
var pauseit=1 //Pause marquee onMousever (0=no. 1=yes)?
var copyspeed=marqueespeed
var pausespeed=(pauseit==0)? copyspeed: 0
var actualheight=''
function scrollmarquee(){
if (parseInt(cross_marquee.style.top)>(actualheight*(-1)+8))
cross_marquee.style.top=parseInt(cross_marquee.style.top)-copyspeed+"px"
else
cross_marquee.style.top=parseInt(marqueeheight)+8+"px"
}
function initializemarquee(){
cross_marquee=document.getElementById("vmarquee")
cross_marquee.style.top=0
marqueeheight=document.getElementById("marqueecontainer").offsetHeight
actualheight=cross_marquee.offsetHeight //height of marquee content (much of which is hidden from view)
if (window.opera || navigator.userAgent.indexOf("Netscape/7")!=-1){ //if Opera or Netscape 7x, add scrollbars to scroll and exit
cross_marquee.style.height=marqueeheight+"px"
cross_marquee.style.overflow="scroll"
return
}
setTimeout('lefttime=setInterval("scrollmarquee()",30)', delayb4scroll)
}
if (window.addEventListener)
window.addEventListener("load", initializemarquee, false)
else if (window.attachEvent)
window.attachEvent("onload", initializemarquee)
else if (document.getElementById)
window.onload=initializemarquee
</script>