搜索

首页  >  问答  >  正文

javascript - 部署到线上的项目,写在js文件中需要动态加载的图片路径怎么去查找?

<img class="share-dream" src="<?php echo $thisActAssetsRoot;?>img/grades.png" alt="分数"/>

在首页通过这样的方式去获取静态资源的路径,但是在js文件中我需要去动态添加的一些图片就不显示了,js里不能写php语句,我该怎么去查找呢?
比如说想点击这张图片之后换成另一张图片,这个click事件我是写在一个单独的js文件里,在js文件里怎么去获取要替换的图片呢?

$('.share-dream').click(function(){
        $(".share-dream").attr(
        "src",
        "<?php echo $thisActAssetsRoot;?>img/shareBtnClick.png")
    })
//我可以这么写么
大家讲道理大家讲道理2902 天前379

全部回复(5)我来回复

  • 黄舟

    黄舟2017-04-10 15:13:47

    引入js文件怎么可能执行PHP代码
    我一般做法是在那个引入JS文件的模板HTML里放隐藏域,比如

    <input type='hidden' id='thisActAssetsRoot' value='<?php echo $thisActAssetsRoot;?>'>
    

    然后js文件里面通过获取这隐藏域的值实现动态

    $('.share-dream').click(function(){
            $(".share-dream").attr(
            "src",$('#thisActAssetsRoot').val()+"img/shareBtnClick.png")
        })
    

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-10 15:13:47

    那么问题来了,谁说 JS 里面不可以写 PHP 的?

    function assest(url) { return "<?php echo $thisActAssetsRoot; ?>"+url; }
    console.log( assest("img/grades.png") );
    

    回复
    0
  • 高洛峰

    高洛峰2017-04-10 15:13:47

    这个一般需要后端在js中进行配置(后端模板)。
    比如:

    javascriptvar ACTION_SET = {
       host:''
    }
    

    然后前端调用即可。

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-10 15:13:47

    js里想写php要把js直接写在php页面里

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:13:47

    一般的话,如果是公共数据,配置在公共模板中

    javascript<script>
        var cVar = {
            "SITE_URL": "<?php ?>",
            "IMG_DOMAIN": "<?php ?>"
        };
    </script>
    

    回复
    0
  • 取消回复