这是可行的,但可能有更好的方法来传递 php var。有没有人有任何选择?谢谢
<?php $slide = "fade"; ?>
$(document).ready(function()
{
$("#showcase_right").awShowcase({transition : "<?php echo $slide; ?>"});
});
不,你做对了。放松 :)
更好的方法是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')
您所做的并不是真正定义变量。您正在以变量形式定义一个常量。
如果用户可以更改转换值,则可以将其全部保留在客户端上。
$(document).ready(function(){
$("#showcase_right").awShowcase({transition : strSlide || 'fade'});
});
strSlide
“变量”在哪里。
您可以将 PHP 变量插入隐藏的输入字段,然后将该输入抓取到 javascript 变量中。我认为你的方法更好,那只是在猜测其他方法。
如果您不喜欢当前的方法,可以执行以下操作(根据自己的喜好更改实现):
var config = {
"slide":"<?php echo "fade"; ?>" // or have a variable here
}
$(document).ready(function()
{
$("#showcase_right").awShowcase({transition : config['slide']});
});
这样,您就可以尽可能地将 PHP 与 javascript 分离。允许您相对轻松地更改配置。