-2

这是可行的,但可能有更好的方法来传递 php var。有没有人有任何选择?谢谢

<?php $slide = "fade"; ?>

$(document).ready(function()
{   

    $("#showcase_right").awShowcase({transition : "<?php echo $slide; ?>"});
});
4

5 回答 5

1

不,你做对了。放松 :)

于 2013-01-17T16:49:26.617 回答
1

更好的方法是json_encode将 PHP 字符串转换为 JavaScript。在这种情况下,它没有真正的区别,但是当您有其他字符串时,它可以确保您始终拥有有效的 JavaScript,无论 PHP 变量包含什么。

$(document).ready(function() {   
    $("#showcase_right").awShowcase({
        transition : <?php echo json_encode($slide); ?>
    });
});

另一种选择是将值存储在data-属性中,例如<body>标签中:

<body data-transition="<?php echo htmlspecialchars($slide); ?>">

然后你可以在你的 JavaScript 代码中使用$('body').data('transition')

于 2013-01-17T16:52:34.990 回答
1

您所做的并不是真正定义变量。您正在以变量形式定义一个常量。

如果用户可以更改转换值,则可以将其全部保留在客户端上。

$(document).ready(function(){  
    $("#showcase_right").awShowcase({transition : strSlide || 'fade'});
});

strSlide“变量”在哪里。

于 2013-01-17T16:54:40.553 回答
0

您可以将 PHP 变量插入隐藏的输入字段,然后将该输入抓取到 javascript 变量中。我认为你的方法更好,那只是在猜测其他方法。

于 2013-01-17T16:49:45.037 回答
0

如果您不喜欢当前的方法,可以执行以下操作(根据自己的喜好更改实现):

var config = {
    "slide":"<?php echo "fade"; ?>" // or have a variable here
}

$(document).ready(function()
{   

    $("#showcase_right").awShowcase({transition : config['slide']});
});

这样,您就可以尽可能地将 PHP 与 javascript 分离。允许您相对轻松地更改配置。

于 2013-01-17T16:52:32.617 回答