有点像我现在在发送垃圾邮件问题,但是,我只是想知道是否有办法循环.mouseup
功能?
在我的代码中:
$(document).ready(function() {
var antal = document.getElementsByClassName("e");
for (var i = 1; i <= antal.length; i++) {
$("#e" + i).draggable({
containment: '#glassbox',
scroll: false
});
}
.mouseup(function(){
var coords = [];
var coord = $(this).position();
var item = {
coordTop: coord.left,
coordLeft: coord.top
};
coords.push(item);
var order = { coords: coords, id: 1 };
$.post('updatecoords.php', 'data='+$.toJSON(order), function(response){
if(response == "success") {
$("#respond")
.html('<div class="success">X and Y Coordinates Saved!</div>')
.hide()
.fadeIn(1000);
setTimeout(function() {
$('#respond').fadeOut(1000);
}, 2000);
}
});
});
});
第一部分工作没有问题,只是我想要的方式,所有循环的div都是可拖动的,我可以将它们移动到glassbox div中,这正是我想要的。然而.mouseup函数不起作用并且使盒子不可分割,我只是想知道是否有这样的方式可以做到这样或者我应该放弃。
编辑:
这是我在网站上使用的PHP / HTML代码,它连接到javascript:
$antal = $mysqli->query("SELECT `Grupp ID` FROM `Elevgrupper` WHERE `Grupp ID`=25");
$num = $antal->num_rows;
$res = $mysqli->query("SELECT `Namn`, `Efternamn` FROM `Elever` WHERE `ID` IN (SELECT `Användar ID` FROM `Elevgrupper` WHERE `Grupp ID` = 25)");
for ($i = 1; $i<=$num; $i++){
$get_coords = mysqli_query($mysqli, "SELECT * FROM coords WHERE id = '" . $i . "'");
$row = $get_coords->fetch_assoc();
$ok = $res->data_seek($i-1);
$row1 = $res->fetch_assoc();
//
$x = $row['x_pos'];
$y = $row['y_pos'];
echo '<div id="e'. $i .'" class="e" style="left:'.$x.'px; top:'.$y.'px;"><p class="p'. $i .'" id="p' . $i .'">'. $row1["Namn"] . " " . $row1["Efternamn"] . '</p></div>';
}
编辑#2:
这是程序的工作版本,不使用循环:
$(document).ready(function() {
$("#e1").draggable({
containment: '#glassbox',
scroll: false
})
.mousemove(function(){
var coord = $(this).position();
$("p:last").text( "left: " + coord.left + ", top: " + coord.top );
})
.mouseup(function(){
var coords=[];
var coord = $(this).position();
var item={ coordTop: coord.left, coordLeft: coord.top };
coords.push(item);
var order = { coords: coords, id: 1 };
$.post('updatecoords.php', 'data='+$.toJSON(order), function(response){
if(response == "success") {
$("#respond").html('<div class="success">X and Y Coordinates Saved!</div>').hide().fadeIn(1000);
setTimeout(function(){ $('#respond').fadeOut(1000); }, 2000);
}
});
});
编辑#3: 记得这也可能是至关重要的信息:
型=&#34;文本/ JavaScript的&#34; SRC =&#34; JS / jQuery的1.3.2.min.js&#34;&GT;
型=&#34;文本/ JavaScript的&#34; SRC =&#34; JS / jquery的-UI-1.7.2.custom.min.js&#34;&GT;
型=&#34;文本/ JavaScript的&#34; SRC =&#34; JS / jquery.json-2.2.min.js&#34;&GT;
这些是我使用的链接。