我有以下jquery脚本:
<script>
$(document).ready(function () {
$(".clickable").click(function () {
$(this).animate({left: '1030px'}, function () {
$(this).fadeOut("slow", function () {
document.location.href = $(this).get(0).id + ".php";
});
});
});
});
$(document).ready(function () {
$("#Chi").animate({left: '0'}, {duration: 200, queue: false});
$("#Dove").animate({left: '0'}, {duration: 400, queue: false});
$("#Quando").animate({left: '0'}, {duration: 600, queue: false});
$("#Cosa").animate({left: '0'}, {duration: 800, queue: false});
var phpvariable=<? echo $row; ?>
$('.dreams-photo-profile-mydream').css({"background": "url(\"/images/user.png\")"});
$('.dreams-photo-profile-mydream').css({"background-repeat": "no-repeat"});
$('.dreams-photo-profile-mydream').css({"background-position": "center"});
$('.dreams-photo-profile-mydream').css({"background-size": "contain"});
});
</script>
我试图像这样传递一个php变量:
<?php
$gdb->connettiDB();
$row = $gdb->getFotoProfilo(getId());
?>
var phpvariable=<? echo $row; ?>
那不行。当我在脚本中声明一个var时,一切似乎都被阻止了,我的动画也没有工作,我也不知道为什么。谁能解释我怎么能完全这样做?
答案 0 :(得分:1)
错误使用php: -
var phpvariable=<? echo $row; ?>
应该是
var your_variable='<?php echo $row; ?>';
答案 1 :(得分:1)
将变量从php传递到javascript的正确方法是使用json_encode
:
var phpvariable=<?php echo json_encode($row); ?>;
现在,不管$row
变量的类型如何,php都不会意外破坏你的javascript。这个名字就像一个数组......
如果$row
是一个整数,问题也可能是由于php中缺少短标签设置引起的。这就是我在我的例子中使用<?php
的原因。
最后,在javascript中变量声明后丢失;
也可能会导致问题,但这取决于之后的内容。
答案 2 :(得分:0)
您需要确保包含上面发布的<script>
的html位于同一个文件中。需要在$row
之前定义<script>
变量。
您在javascript行的末尾也遗漏了;
var phpvariable=<? echo $row; ?>;
如果$row
是字符串,您还需要使用"
:
var phpvariable="<? echo $row; ?>";