javascript - 在单击的(网格的)单元格内放置图像或 css 样式图标

标签 javascript php html css

这是我通过循环使用 php 创建表的代码。我在每个 .因此,在单击特定单元格时,背景颜色会发生变化。现在我想放置一个特定的图像..在每个被点击的单元格内..但我无法弄清楚该功能。

我想编写一个函数,以便在单击时放置图像。

/* 
 * javascript function that changes color of the cell.
 * 
*/

 <script>
    function changeColor(elem)
    {     
    elem.style.background = "red";     
    }
 </script>

在 php 中创建的表

<?php
    $rows = 10; // define number of rows
    $cols = 4;// define number of columns

    echo "<table border='1'>";

    for($tr=1;$tr<=$rows;$tr++){

        echo "<tr>";
            for($td=1;$td<=$cols;$td++){
                   echo "<td onclick=\"changeColor(this)\" > ".$tr." ".$td."</td>";
            }
        echo "</tr>";
    }

        echo "</table>";
?>

最佳答案

替换

  elem.style.background = "red";     

将此用于 javascript

  elem.style.backgroundImage ="url('path/myimage.jpg')";

将其用于 jQuery

  $(elem).css('background-image', "url('path/myimage.jpg')");

FOR DRAWING A CIRCLE TRY THIS (ADD THIS POINT TO THE ORIGINAL QUESTION AS WELL)

您可能想看看 HTML5 CANVAS

您必须在 td 中添加一个 canvas 标签并将它的引用发送给该函数

    var offsets = elem.getBoundingClientRect();
    var top_C = offsets.top;
    var left_C = offsets.left;
    var bottom_C= offsets.bottom;
    var right_C= offsets.right;
    var y_C= ((bottom_C-top_C)/2); // Y- Co=ordinates
    var x_C=((right_C-left_C)/2);  // X- Co=ordinates
    var ctx=elem.getContext("2d");
    ctx.beginPath();
    ctx.arc(x_C,y_C,40,0,2*Math.PI);
    ctx.stroke();

您可能需要尝试几次才能获得适合您的小区的完美半径。 ctx.arc()

中的第三个参数

关于javascript - 在单击的(网格的)单元格内放置图像或 css 样式图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21250898/

相关文章:

javascript - react-native-webview 调用时崩溃应用程序

php - 将一张表与其自身左连接

php - 无法从数据库 php 获取图像

javascript - 使用 anchor 链接和 jquery 在部分之间跳转

javascript - 使用 Hammer.js 缩放 SVG

javascript - 在 iOS 中将字符串传递给 JavaScript 无法获取调用的函数

php - 我什么时候不应该使用 mysql_real_escape_string

php - 无法通过 socket 问题连接到本地 MySQL 服务器

wordpress - 如何创建移动的背景元素

javascript - 使用点分字符串获取对象属性值