我以前见过几次这样做。我不记得其他网站,但如果你知道其他我想看看。(https://gumroad.com/)
基本上,当他们执行以下操作时:
将您的“歌曲”直接分享给您的“粉丝”。并且引号中的单词不断被替换。
我想知道是否有一个 JS/Jquery 库可以帮助解决这个问题。或者,我想要一些其他的网站,这样我就可以得到想法!
谢谢。
我以前见过几次这样做。我不记得其他网站,但如果你知道其他我想看看。(https://gumroad.com/)
基本上,当他们执行以下操作时:
将您的“歌曲”直接分享给您的“粉丝”。并且引号中的单词不断被替换。
我想知道是否有一个 JS/Jquery 库可以帮助解决这个问题。或者,我想要一些其他的网站,这样我就可以得到想法!
谢谢。
我使用 jQuery 实现了类似的东西(没有动画)。
该代码基本上每 2000 毫秒循环一次数组中的数据,并将其添加到跨度中。
现场演示 - http://jsfiddle.net/Dogbert/vF4rj/3/
JS:
var options = [
["music", "listeners"],
["software", "users"],
["films", "viewers"],
["comics", "readers"]
];
var interval = 2000;
var holder1 = $(".holder-1"), holder2 = $(".holder-2");
var currentIndex = 0;
function doIt() {
holder1.html(options[currentIndex][0]);
holder2.html(options[currentIndex][1]);
currentIndex = (currentIndex + 1) % options.length;
setTimeout(doIt, interval);
}
doIt();
HTML:
<h2>
Sell
<span class="holder-1"></span>
directly to your
<span class="holder-2"></span>
</h2>
如果您对他们的方法感兴趣,他们似乎正在这样做:
span
标签来更新其文本。显示的版本在该位置有占位符,它们是空白,并且它们的宽度通过使用隐藏版本的新宽度进行动画处理。一个非常聪明的方法。
让 Gumroad 工作的原因是流畅的动画,所以如果没有这个基本元素,我觉得答案是不完整的。
话虽这么说,d3 javascript 库 (d3js.org) 具有非常好的基本功能实现以及对转换的支持。关键代码如下,可让您轻松指定要应用的 css 转换类型(请参见最后一行):
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(32," + (height / 2) + ")");
一个完整的例子可以在这里查看:http: //bl.ocks.org/mbostock/3808234