大家好我想在没有加载(刷新)页面时显示一些随机图像
那么如何在不刷新页面的情况下在页面上显示随机图像呢?
<script type="text/javascript">
$(function () {
$.ajax({
type: "get", url: "Home/Oku", data: {}, dataType: "json",
success: function (data) {
for (var i = 0; i < data.length; i++) {
var newFirmDiv= $(' <img src="../../banner_image/' + data[i] + '" width="154px" height="108px"/>');
$(".firmShowCase").append(newFirmDiv);
}
}
});
});
</script>
这是我的action方法,它为数组提供返回值
public ActionResult Oku()
{
var query = from table in db.news select table.news_image_name;
return Json(query, JsonRequestBehavior.AllowGet);
}
以下是结果,如下所示
答案 0 :(得分:0)
第二次尝试:
最小和最大的功能
(http://www.naden.de/blog/zufallszahlen-in-javascript-mit-mathrandom)
function getRandom(min, max) {
if(min > max) {
return -1;
}
if(min == max) {
return min;
}
var r;
do {
r = Math.random();
}
while(r == 1.0);
return min + parseInt(r * (max-min+1));
}
和你的代码
for (var i = 0; i < data.length; i++) {
randomIndex = getRandom(0, data.length-1);
var newFirmDiv= $(' <img src="../../banner_image/' + data[randomIndex] + '"width="154px" height="108px"/>');
$(".firmShowCase").append(newFirmDiv);
}
如果您想保留随机顺序......
...您必须像在新数组中一样保存它,之后您可以通过数据库或临时文件中的ajax保存它。在当前文件的顶部,您必须检查是否存在现有临时文件;如果它应该绑定到一个用户,你可以生成一个随机密钥(就像时间一样)将它保存在一个会话变量中,并使用相同的随机密钥命名tmp文件或数据库中的数据...到目前为止我的想法,如果这就是你要找的东西。因为从一开始就在服务器端更容易做到这一点。
第一回答:
(问题不是很明确 - 如果某些事情不起作用等等......)
首先,数据不作为数组返回,而是作为对象返回。但我认为你不太了解ajax函数的参数。
在url参数中应该是应该执行的脚本(例如getImages.php)。因此,您应该收集图像,将它们解析为jason并打印出来,这样它将作为数据返回。
在参数数据中,您可以将一些参数传递给skript,您可以通过在php中解码它们来获取。
我刚刚选择了PHP。
如果我错了,“Home / Oku”导致某些剧本你可能会告诉我们它的作用是什么?