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.它非常簡單! –
你的意思是源代碼的評論,對不對? –