多级目录站点上的jquery内部的路径

时间:2013-12-04 16:42:04

标签: php jquery html

OK!

jQuery用在我的导航栏中,我的导航栏包含在每个页面的标题中,包含PHP。

jQuery用于在点击某些div时替换某些div的背景图像。但是由于多个'目录级别(例如website.com/'dir'/'dir')',图像的根路径会中断。

之前我遇到过这个问题,这个问题就像这样修复了......(某些背景:假设我们在页面'website.com/category/tag')

<?php $page_root_path = '../../'; ?> *I would add this at the top of the page to signify the directory depth and modify accordingly... *

<img src="<?php echo ($page_root_path); ?>img/nav/logo.png" 

如何将PHP字符串变量传递给jQuery字符串变量,并将该变量粘贴到下面的css函数中包含的根路径中?

    $("#box").toggle();
    if ($('#box').is(":visible")) {
                $('.button').css({
                        "background-image": "<---PAGE_ROOT_PATH--->dir/dir/dir/img.png)"
    });

我对jQuery的了解部分缺乏,所以请向新手解释一下! :)

2 个答案:

答案 0 :(得分:0)

<script>
    var globalUrl = '<?php print '/path/to/image/' ?>';
</script>

并在另一个脚本块中使用它;

$("#box").toggle();
if ($('#box').is(":visible")) {
            $('.button').css({
                    "background-image": globalUrl + "img.png)"
});

答案 1 :(得分:0)

其中一个解决方案应该有效:

  1. 默认情况下,路径相对于引荐页面的URL。因此,如果目录层次结构中img.png已关闭,则应该没问题。

  2. 如果您希望图像的路径相同,无论层次结构中的级别如何,请使用

    a)具有前导斜杠/imgs/img.png

    的绝对URLS

    b)HTML标头中的基本网址,带有<base>标记。

  3. 通过您的html文件传递一个目录:

    <script>
    window._base_url = "<?php echo ($page_root_url); ?>";
    <script>
    

    并在您的javascript

    中使用它
    $('.foo').css({'background-image': _base_url+"/foo/img.png"});
    
  4. document.location.href解析当前页面网址并对其进行一些手术以找到正确的路径。

  5. 这些想法越来越麻烦。