انتخاب محتوای یک div از بین چند div به صورت تصادفی
سوال:
یه کد جاوا اسکذیپت میخوام که چند تا div رو بگیره محتواشون رو توی یه div به صورته random نشون بده
جواب:
این فکر کنم به دردت بخوره. فقط باید در نظر داشته باشی که کد جاوا اسکرپت باید بعد از div ها لود بشه! میتونی کد رو بزاری توی یک تابع در head و بعد از نوشتن div ها تابع رو فراخوانی کنی یا اینکه همینطوری که نوشتم استفاده کنی
[html]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>random content</title>
<style type="text/css">
.sources {
display:none;
}
</style>
</head>
<body>
<div id="sources" class="sources">
<div class="source">div::test1</div>
<div class="source">div::test2</div>
<div class="source">div::test3</div>
<div class="source">div::test4</div>
<div class="source">div::test5</div>
</div>
<div id="target"></div>
<script type="text/javascript">
//<!--
var sourceCount = 0;
for(var i=0, elem=document.getElementById('sources').getElement sByTagName('div'); i<elem.length; i++) {
if(elem[i].className=='source') {
sourceCount++;
}
}
document.getElementById('target').innerHTML = elem[Math.floor(Math.random()*sourceCount)].innerHTML;
//-->
</script>
</body>
</html>
[/html]
البته یه مدل دیگه هم میشه این قضیه رو حل کرد! میشه به جای گرفتن محتوا با پراپرتی style.display نمایش همون div سورس ها رو تنظیم کرد تا فقط یکیشون در هر زمان نمایش داده بشه.
اگر بد مطلب رو متوجه شدم بگو تا درستش کنم