2
我有七个文本跨度。我怎样才能设置这个跨度的随机位置?我想设置没有重叠和没有退出边缘的随机位置。随机文本跨度的位置
<!DOCTYPE html>
<html lang="pl">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<style>
.picture{
border:1px solid #000;
margin: 5px 5px 5px 5px;
position:absolute;
}
.cont {
position:relative;
background: red;
width: 300px;
height: 300px;
}
</style>
<body>
<div class="cont">
<input type="text" id="i_file1" name="i_file" class="textField">
<input type="text" id="i_file2" name="i_file" class="textField">
<input type="text" id="i_file3" name="i_file" class="textField">
<input type="text" id="i_file4" name="i_file" class="textField">
<input type="text" id="i_file5" name="i_file" class="textField">
<input type="text" id="i_file6" name="i_file" class="textField">
<input type="text" id="i_file7" name="i_file" class="textField">
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<button onclick="textFields()" id="texttt"> text </button>
<button id="losuj" onclick="reset()">reset </button>
</body>
<script>
function textFields() {
$('input[type="text"]').each(function() {
var id = $(this).attr("id");
id = "#" + id;
var value1 = $(id).val();
var html_code = '<br/><br/><span class="blabla">' + value1 + '</span>';
$(id).after(html_code);
$(id).hide();
});
$("#texttt").hide();
}
function reset() {
var containerW = 300;
var containerH = 300;
$('.blabla').each(function() {
var x = parseInt(Math.random() * (containerW-$(this).width()));
var y = parseInt(Math.random() * (containerH-$(this).height()));
$(this).css({
position: 'absolute',
top: x + 'px',
left: y + 'px'
});
});
}
</script>
</html>
我现在的代码,我设置位置随机,但我不知道如何做到这一点与重叠。
它会提高,使答案更有益的OP,如果你指定什么改正有你做。 – Devjosh
好吧,我把第一个跨度没有检查重叠,然后根据它的TOP我限制休息的TOP。关于左边我允许他们从0移动到300.它非常简单! –
你的意思是源代码的评论,对不对? –