程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用由 php 调用的 javascript 将圆圈附加到 svg大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用由 php 调用的 javascript 将圆圈附加到 svg?

开发过程中遇到使用由 php 调用的 javascript 将圆圈附加到 svg的问题如何解决?下面主要结合日常开发的经验,给出你关于使用由 php 调用的 javascript 将圆圈附加到 svg的解决方法建议,希望对你解决使用由 php 调用的 javascript 将圆圈附加到 svg有所启发或帮助;

我一直在寻找可行的答案,但一直找不到。 我有一张用于 RP 公会的游戏地图。我正在使用地图来显示我们在该游戏世界中的影响力。如果我在 php 中的 echo 语句中完成了所有操作,则显示地图没有问题,但是,我想要做的只是将影响区域绘制在从数据库中提取的地图上。

我有以下函数,当从我的 .Js 文件中调用时它可以工作:

function drawInfluence(ID,x,y,inf,dis) {
    svg = document.getElementByID("small_R_522_11845@ap");
    var pt = svg.createSVGPoint();
    pt.x = x;
    pt.y = y;
    var c = document.createElementNS('http://www.w3.org/2000/svg','circle');
    c.setAttribute('ID',"c"+ID);
    c.setAttribute('r',"15");
    c.setAttribute('cx',pt.X);
    c.setAttribute('cy',pt.y);
    c.setAttribute('fill',inf);
    c.setAttribute('stroke-wIDth','5');
    c.setAttribute('stroke',dis);
    svg.appendChild(c);
}

如果我这样称呼它,这个函数就完美了:

$(document).ready(function() {
    $("#small_R_522_11845@ap").load( function() {
         drawInfluence(1,150,"red","blue");
    });
});

但是,如果我使用:

$(document).ready(function() {
    $("#small_R_522_11845@ap").load( function() {
        $.AJAX({
            url: 'scripts/inf_map_load.php',success: function () {
                // There is nothing to do here right Now
            }
        });
    });
});

带有如下所示的 php 文件

<?php
echo'   drawInfluence(1,"blue");';
?>

或者喜欢

<?php
echo'   <script type="text/JavaScript">drawInfluence(1,"blue");</script>';
?>

我根本没有收到任何输出。

该函数在我的 .Js 文件中,以及我其他函数的其他 Jquery 回调(工作正常。)

我也试过:

$(document).ready(function() {
    $("#small_R_522_11845@ap").load( function() {
        $.AJAX({
            url: 'scripts/inf_map_load.php',success: function () {
                alert("TesTing");
                drawInfluence(1,"blue");
            }
        });
    });
});

并且圆圈将在它应该绘制的位置以及弹出的警报中绘制我不能使用来自该区域的 drawInfluence 因为最终目标是让 JavaScript 调用的信息从数据库中读取它包含多行数据,每行数据都有一个唯一的悬停和点击事件标识符。使用 php echo 语句编写整个文档是有效的,但不是最有效的,我更喜欢使用回调而不是内联 svg JavaScript。

解决方法

在玩了更多之后,我发现放置一个带有 id 的空 div 标签并使用以下代码我能够让脚本执行我想要的操作,尽管它在地图完成加载之前绘制了影响区域。不是什么大问题,但也不美观。

在我的 .JS 文件中:

$(document).ready(function() {
    $("#map_load").load("scripts/inf_map_load.php");
});

我的 php 文件

<?php
echo'<script type="text/javascript">drawInfluence(1,150,"red","blue")';
?>

还有让它工作的空 div

<div id="map_load"></div>

我仍然不知道这是否是完成我所需要的最佳方式,但它现在正在发挥作用,而且此刻更重要。感谢我收到的回复。

大佬总结

以上是大佬教程为你收集整理的使用由 php 调用的 javascript 将圆圈附加到 svg全部内容,希望文章能够帮你解决使用由 php 调用的 javascript 将圆圈附加到 svg所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。