gpt4 book ai didi

javascript - 打开从 Raphael 节点到灯箱的链接

转载 作者:行者123 更新时间:2023-11-30 06:07:02 25 4
gpt4 key购买 nike

我正在使用 fancybox满足我的灯箱需求。

我需要打开来自 raphael 的链接元素(在此演示中为 circle )。

通常你会创建一个链接并像这样设置它的样式:

<a id="test" href="ajax.html">Click Me</a></li>
<script type="text/javascript">
$(document).ready(function() {
$('#test').fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'iframe'
});

为了使事情复杂化,圆圈在它自己的 javascript 文件中,该文件在 fancybox 之后声明:

<script src="./fancybox/jquery.fancybox-1.3.1.pack.js" type="text/javascript"></script>
<script src="demo02.js" type="text/javascript" charset="utf-8"></script>

demo02.js 的精简版如下所示:

var Demo = {
initialize: function() {
var dim = this.getWindowDimensions();
this.paper = Raphael("canvas", dim.width, dim.height);
// set events
(document.onresize ? document : window).onresize = function() {
Demo.resize();
}

// add circle
var circle = this.paper.circle(150, 120, 100);
circle[0].style.cursor = "pointer";
circle.attr({
fill: "green",
stroke: "#333",
"stroke-width": 10,
href: "ajax.html",
});
},
...

所以我尝试了几种方法来设置链接的样式。一种天真的尝试是简单地将测试的 id 添加到 attr。

我还尝试了以下方法:

$(circle.node).fancybox({
$('circle.node').fancybox({
$('#circle.node').fancybox({
$('#canvas.circle.node').fancybox({
$('#Demo.circle.node').fancybox({

而且它们都不起作用。该链接始终作为新链接打开,而不是在花哨的框中打开。

我做错了什么,我需要做什么来纠正它?

最佳答案

已修复。

我没有使用 href 属性,而是直接从节点的 onclick 处理程序中调用 fancybox,给我这个:

    var circle = this.paper.circle(150, 120, 100);
circle[0].style.cursor = "pointer";
circle.attr({
fill: "green",
stroke: "#333",
"stroke-width": 10,
});
circle.node.onclick = function () {
$.fancybox({
'href' : 'ajax.html',
'width' : '75%',
'height' : '75%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'iframe'
});

if (circle.attr("fill") == "red") {
circle.attr("fill", "green");
} else {
circle.attr("fill", "red");
}
};

哪个有效!

关于javascript - 打开从 Raphael 节点到灯箱的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3683652/

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