首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换<marquee>标记的Javascript选框

替换<marquee>标记的Javascript选框
EN

Stack Overflow用户
提问于 2008-12-03 14:40:39
回答 7查看 88K关注 0票数 13

我对Javascript一窍不通。这就是我所拥有的:

代码语言:javascript
复制
<script type="text/javascript">
    function beginrefresh(){

        //set the id of the target object
        var marquee = document.getElementById("marquee_text");

        if(marquee.scrollLeft >= marquee.scrollWidth - parseInt(marquee.style.width)) {
            marquee.scrollLeft = 0;
        }

        marquee.scrollLeft += 1;

        // set the delay (ms), bigger delay, slower movement
        setTimeout("beginrefresh()", 10);

    }
</script>

它向左滚动,但我需要它相对无缝地重复。在那一刻,它只是跳回到开始。我这样做可能不太可能,如果不可能,有谁有更好的方法吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-12-03 15:01:00

这是一个有很多功能的jQuery插件:

http://jscroller2.markusbordihn.de/example/image-scroller-windiv/

这个是“丝滑的”

http://remysharp.com/2008/09/10/the-silky-smooth-marquee/

票数 16
EN

Stack Overflow用户

发布于 2014-10-15 08:15:37

简单的javascript解决方案:

代码语言:javascript
复制
window.addEventListener('load', function () {
	function go() {
		i = i < width ? i + step : 1;
		m.style.marginLeft = -i + 'px';
	}
	var i = 0,
		step = 3,
		space = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
	var m = document.getElementById('marquee');
	var t = m.innerHTML; //text
	m.innerHTML = t + space;
	m.style.position = 'absolute'; // http://stackoverflow.com/questions/2057682/determine-pixel-length-of-string-in-javascript-jquery/2057789#2057789
	var width = (m.clientWidth + 1);
	m.style.position = '';
	m.innerHTML = t + space + t + space + t + space + t + space + t + space + t + space + t + space;
	m.addEventListener('mouseenter', function () {
		step = 0;
	}, true);
	m.addEventListener('mouseleave', function () {
		step = 3;
	}, true);
	var x = setInterval(go, 50);
}, true);
代码语言:javascript
复制
#marquee {
   background:#eee;
   overflow:hidden;
   white-space: nowrap;
 }
代码语言:javascript
复制
<div id="marquee">
	1 Hello world! 2 Hello world! <a href="#">3 Hello world!</a>
</div>

JSFiddle

票数 8
EN

Stack Overflow用户

发布于 2014-10-18 06:04:22

我最近使用Cycle 2jQuery插件在HTML语言中实现了一个选框:http://jquery.malsup.com/cycle2/demo/non-image.php

代码语言:javascript
复制
<div class="cycle-slideshow"  data-cycle-fx="scrollHorz" data-cycle-speed="9000" data-cycle-timeout="1"  data-cycle-easing="linear" data-cycle-pause-on-hover="true" data-cycle-slides="> div" >
  <div>  Text 1  </div>
  <div>  Text 2  </div>
</div>    
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/337330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档