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