javascript - php 生成 html 按钮来运行 javascript

标签 javascript php jquery html

我想做的是单击按钮并让它更新另一个 div 的背景。 这些按钮是使用 php 从文件中的 imgs 生成的。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
    <title></title>
    <style>
        button{width: 100%; }
    </style>
</head>
<body>
    <div id="Navi" style="width: 150px; height: 640px;background: green;">
        <?php
            foreach (glob("*.png") as $filename) {
                echo "<button id='$filename' onclick='change(event);'>".substr($filename, 0, -4)."</button></br>";
           }
        ?>
    </div>
    <div id="ImgBig" style="height: 640px; width: 640px;margin-left: 150px; margin-top: -640px; background: blue;"></div>
    <script>
        function change(event){
            $("#ImgBig").css("background-image", "url("+event.target.id+")"); 
        }
    </script>
</body>

最佳答案

请尝试将 php 目标中的 event 更改为 this,以便将您的 javascript 函数应用于当前项目:

<?php
            foreach (glob("*.png") as $filename) {
                echo "<button id='$filename' onclick='change(this);'>".substr($filename, 0, -4)."</button></br>";
           }
        ?>

然后在您的 javascript change 函数中,只需删除 target:

function change(event){
            $("#ImgBig").css("background-image", "url("+event.id+")"); 
        }

关于javascript - php 生成 html 按钮来运行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34965495/

相关文章:

javascript - 将 Canvas 流发送到 UDP 多播地址

javascript - 窗口卸载事件上的本地存储

javascript - 在 jQuery 中识别具有相对路径的链接

php - 如何在一个div下打印10次<li>?

javascript - 弹出 div 在浏览器调整大小时收缩

jquery - 使用 jQuery 删除选定的项目

javascript - 有没有办法可以在分钟变化时使用 momentjs 进行循环?

javascript - 如何$watch工厂中的字段 angularJS

php - 计算特定 ID 的行数

php - 从磁盘执行的重复应用程序。如何从内存中重复执行?