通过变量设置jQuery偏移量
我试图通过jquery放置一个div,如果我将top和left的常量值放入:$(divToAdd).offset({left:TableX[I],top:TableY[I]}),下面的代码就可以工作了; 除了数组,我还试图提醒()TableX[I]的值,它正在工作通过变量设置jQuery偏移量,jquery,css,offset,Jquery,Css,Offset,我试图通过jquery放置一个div,如果我将top和left的常量值放入:$(divToAdd).offset({left:TableX[I],top:TableY[I]}),下面的代码就可以工作了; 除了数组,我还试图提醒()TableX[I]的值,它正在工作 var divToAdd ; var TableX=[] ; var TableY=[] ; var TableX = <?php echo json_encode($TableX);?&
var divToAdd ;
var TableX=[] ;
var TableY=[] ;
var TableX = <?php echo json_encode($TableX);?> ;
var TableY=<?php echo json_encode($TableY);?> ;
for(i = 1 ; i <= <?php echo $num ;?>; i++)
{divToAdd = $("<div></div>");
$(divToAdd).addClass('dragged1');
$(divToAdd).offset({ left:TableX[i] , top:TableY[i]}) ;
$('#frame').append(divToAdd);
}
included this php file :
<?php
include('connect.php') ;
$cnt_table;
$TableX = [];
$TableY =[];
$result = mysql_query("SELECT DISTINCT TableX , TableY FROM layout ");
$num_rows = mysql_num_rows($result);
$num=$num_rows;
while($row = mysql_fetch_assoc($result)) {
$TableX[$num_rows] = $row['TableX'] ;
$TableY[$num_rows] = $row['TableY'];
//echo $TableX[$num_rows]."\n" ;
//echo $TableY[$num_rows]."\n";
$num_rows--;
}
?>
var divToAdd;
var表x=[];
var表=[];
var表x=;
var TableY=;
对于(i=1;i
感谢响应的人…请发布浏览器看到的实际代码。我们无法将您的php处理为未知数组。请查看更新后的php。问题在于表[i],它没有考虑获取的值。这不是来自浏览器的javascript源代码。浏览器不运行php。另外,由于循环的每次迭代都会覆盖相同的索引,所以数组的长度仅为1。这是创建div所需的唯一代码。我已粘贴了完整的javascript。您能告诉我是哪一部分吗覆盖?$num_行——在末尾,我已经回显了要检查的值,其次,所有不同的值都存储在数据库中,所以问题似乎在javascript中。
I have found a solution , Although still did not understand what is wrong with offset() .
The new code is :
var divToAdd ;
var TableX=[] ;
var TableY=[] ;
var TableX = <?php echo json_encode($TableX);?> ;
var TableY=<?php echo json_encode($TableY);?> ;
for(i = 1 ; i <= <?php echo $num ;?>; i++)
{
//alert(TableX[i]);
divToAdd = $("<div></div>");
$(divToAdd).css('top' , + TableY[i] );
$(divToAdd).css('left' , +TableX[i] );
$(divToAdd).addClass('dragged1');
$(divToAdd).attr("id","table"+i);
//$(divToAdd).offset( {left:TableX[i] , top: TableY[i]} );
$('#frame').append(divToAdd);
}
$(divToAdd).css('top' , + TableY[i] );
$(divToAdd).css('left' , +TableX[i] );