gpt4 book ai didi

javascript - 词云弹出视频

转载 作者:行者123 更新时间:2023-11-28 04:13:54 26 4
gpt4 key购买 nike

我刚刚从T3得到了词云模板。现在,我为词云中的每个单词添加了一个 YouTube 链接,但我希望在单击词云中的单词时弹出视频。我应该如何修改我的代码?非常感谢。

这是我的 JavaScript:

<script>
var fill = d3.scale.category20();
var words = [{"text":"Worry", "url":"http://google.com/"},
{"text":"Choices", "url":"http://bing.com/"},
]

var width = 1080;
var height = 500;
for (var i = 0; i < words.length; i++) {
words[i].size = 10 + Math.random() * 90;
}

d3.layout.cloud()
.size([width, height])
.words(words)
.padding(5)
.rotate(function() { return ~~ ((Math.random() * 6) - 3) * 30 + 8; })
.font("Impact")
.fontSize(function(d) { return d.size;})
.on("end", draw)
.start();

function draw(words) {
d3.select("#word-cloud")
.append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate("+ width/2 +","+ height/2 +")")
.selectAll("text")
.data(words)
.enter()
.append("text")
.style("font-size", function(d) { return d.size + "px"; })
.style("font-family", "Impact")
.style("fill", function(d, i) { return fill(i); })
.attr("text-anchor", "middle")
.attr("transform", function(d) {
return "translate(" + [d.x, d.y] + ")rotate(" + d.rotate + ")";
})
.text(function(d) { return d.text; })
.on("click", function (d, i){
window.open(d.url, "_blank");
});
}

最佳答案

我建议的方法:

  1. 创建模态窗口
  2. 点击某个单词时打开模式
  3. 根据点击的单词将嵌入代码动态填充到模态中(我没有为您执行这部分操作,但应该很容易实现,因为它是要访问的数据的一部分)。

我创建了一个JSFiddle这可以帮助您完成大部分工作,但这里还需要做一些额外的工作:

.on("click", function (d, i){
// Dynamically populate embed

// Open the modal
document.getElementById('myModal').style.display = "block";
});

关于javascript - 词云弹出视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46045236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com