Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串中的PHP和Javascript_Php_Javascript_Jquery_Fancybox - Fatal编程技术网

字符串中的PHP和Javascript

字符串中的PHP和Javascript,php,javascript,jquery,fancybox,Php,Javascript,Jquery,Fancybox,我正在尝试使用一个名为“fancybox”的Jquery脚本 我需要它,这样的标题将是一个选定的网页链接,链接需要包括用户和图像名称。我可以通过PHP$\u GET&一个Javascript函数来实现这些 问题是如果您愿意,将它们作为一个字符串包含在一起。它不是执行javascript返回图像名称,而是显示代码本身 我的问题是如何在使用PHP的同时执行javascript以包含在链接中?(在我加入PHP部分之前,它已经工作了) 到目前为止,我得到的是: jQuery(document).re

我正在尝试使用一个名为“fancybox”的Jquery脚本

我需要它,这样的标题将是一个选定的网页链接,链接需要包括用户和图像名称。我可以通过PHP$\u GET&一个Javascript函数来实现这些

问题是如果您愿意,将它们作为一个字符串包含在一起。它不是执行javascript返回图像名称,而是显示代码本身

我的问题是如何在使用PHP的同时执行javascript以包含在链接中?(在我加入PHP部分之前,它已经工作了)

到目前为止,我得到的是:

  jQuery(document).ready(function(){
        var imagename = function( item ) {
                        return item.href.replace('/images/<?php echo $_GET['user']; ?>/', '');
                    } 
    $(".fancybox")
        .attr('rel', 'gallery')
        .fancybox({

            margin      : 20,
            padding     : 10,
            openEffect  : 'none',
            closeEffect : 'none',
            nextEffect  : 'none',
            prevEffect  : 'none',
            margin      : [20, 60, 20, 60], // Increase left/right margin
            showCloseButton : true,
            showNavArrows   : true,
            title       : '<a href="delete.php?boat=<?php echo $_GET['user'].'&image='; ?>'+imagename+'">Delete this image?</a>'
        });
    })

谢谢。

imagename
它是一个函数,所以您应该调用它
imagename()
您应该调用
imagename(项)
而不是通过引用

'...?boat=<?php echo $_GET['user']; ?>&image=' + imagename(item) + '">...'

另外,我建议您对放入uri中的图像路径进行URL编码:

'...' + encodeURIComponent(imagename()) + '...'
在这样一个地方使用PHP部件:

var user = "<?php echo $_GET['user']; ?>";
var user=”“;

然后稍后使用
user
JavaScript变量。它更具可读性。

我应该只使用javascript,因为您没有进行任何服务器端计算。 您可以使用这样的插件从url获取所需的参数,也可以通过stackoverflow搜索许多其他较轻的功能

什么是项? 如果是在jQuery(document).ready之前定义的全局变量,则可以执行以下操作:

var imagename = item.href.replace('/images/<?php echo $_GET['user']; ?>/', '');
var-imagename=item.href.replace('/images/','');

感谢您的帮助,最终以以下代码到达目的地:

jQuery(document).ready(function(){
$(".fancybox")
    .attr('rel', 'gallery')
    .fancybox({

        margin      : 20,
        padding     : 10,
        openEffect  : 'none',
        closeEffect : 'none',
        nextEffect  : 'none',
        prevEffect  : 'none',
        margin      : [20, 60, 20, 60], // Increase left/right margin
        showCloseButton : true,
        showNavArrows   : true,
        title       : function( item ) {
                    var imagename = item.href.replace('/images/<?php echo $_GET['user']; ?>/', '');
                    return '<a href="delete.php?boat=<?php echo $_GET['user'].'&image='; ?>'+imagename+'">Delete this image?</a>'
                }
    });
})
jQuery(文档).ready(函数(){
$(“.fancybox”)
.attr('rel','gallery')
.fancybox({
差额:20,
填充:10,
openEffect:'无',
closeEffect:'无',
下一个效果:“无”,
效果:“无”,
边距:[20,60,20,60],//增加左/右边距
showCloseButton:正确,
真的,
标题:功能(项目){
var imagename=item.href.replace('/images/','');
返回“”
}
});
})

imagename
不是函数。为什么
var-imagename=function(item){…
不是函数?
var imagename = item.href.replace('/images/<?php echo $_GET['user']; ?>/', '');
jQuery(document).ready(function(){
$(".fancybox")
    .attr('rel', 'gallery')
    .fancybox({

        margin      : 20,
        padding     : 10,
        openEffect  : 'none',
        closeEffect : 'none',
        nextEffect  : 'none',
        prevEffect  : 'none',
        margin      : [20, 60, 20, 60], // Increase left/right margin
        showCloseButton : true,
        showNavArrows   : true,
        title       : function( item ) {
                    var imagename = item.href.replace('/images/<?php echo $_GET['user']; ?>/', '');
                    return '<a href="delete.php?boat=<?php echo $_GET['user'].'&image='; ?>'+imagename+'">Delete this image?</a>'
                }
    });
})