使用 jQuery 进行基本图像旋转

发布于 2024-08-13 06:41:23 字数 165 浏览 2 评论 0原文

我想测试横幅(两个 css 背景图像)并在每个页面重新加载时随机旋转它们。是否可以在不使用任何插件的情况下实现类似的目标?

我只需要旋转两个图像,这基本上只是在每次重新加载时在横幅元素上随机交换CSS类

非常感谢。

I'd like to test banner (two css background images) and rotate them randomly on each page reload. Is it possible to achieve something like that without using any plugins?

I just need to rotate two images, which is basically just swapping css classes randomly on the banner element, on each reload.

Many thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

绮烟 2024-08-20 06:41:23

由于您特别要求分配 CSS 类,因此有一个 jquery 函数可以执行此操作:

$(function() {
   var id = Math.floor(Math.random() * 10);
   $("#banner").addClass("className" + id);
}

还有一些与此相关的函数,您可以在此处找到它们的文档:http://docs.jquery.com/Attributes

Since you specifically asked for assigning a CSS class, there is a jquery function to do this:

$(function() {
   var id = Math.floor(Math.random() * 10);
   $("#banner").addClass("className" + id);
}

There are also a few more functions related to this, you can find them documented here: http://docs.jquery.com/Attributes

岛徒 2024-08-20 06:41:23

当然可以!像这样的脚本应该可以工作:

$(document).ready(function() {
 var ad_urls= ['image1.png', 'image2.jpg'];
 var i= Math.floor(Math.random()*ad_urls.length) - 1;
 $('#image_to_update').attr('src', ad_urls[i]);
});

然后,当您想要新广告时,只需更新 ad_urls 数组即可。

Sure thing! A script like this should work:

$(document).ready(function() {
 var ad_urls= ['image1.png', 'image2.jpg'];
 var i= Math.floor(Math.random()*ad_urls.length) - 1;
 $('#image_to_update').attr('src', ad_urls[i]);
});

Then, when you want a new ad you can just update the ad_urls array.

触ぅ动初心 2024-08-20 06:41:23

如果您想在每次页面重新加载时交换图像,那么您可能需要使用服务器端脚本而不是 javascript 来完成此操作。另一种选择是在 DOM 准备好时应用随机 css:

$(function() {
    // Get a random number between 1
    var id = 1 + Math.floor(Math.random() * 11);
    $('banner').css('background-image', 'url(/images/image' + id + '.jpg)');
});

If you want to swap images on each page reload, then you probably need to do this using server side script instead of javascript. Another option is to apply a random css when the DOM is ready:

$(function() {
    // Get a random number between 1
    var id = 1 + Math.floor(Math.random() * 11);
    $('banner').css('background-image', 'url(/images/image' + id + '.jpg)');
});
高跟鞋的旋律 2024-08-20 06:41:23

使用 Math.random() 您可以生成 0 到 N 之间的数字(N 是可用横幅的数量),然后显示 Banner_i ( 0 <= i <=N )。

要生成数字,您可以执行以下操作:

var N = 10; /* This is the maximum myBannerNumber can get */
var myBannerNumber = Math.floor(Math.random()*N);

Using Math.random() you can generate a number between 0 and N (N being the number of your available banners) and then show banner_i ( 0 <= i <=N ).

To generate the number, you can do something like this :

var N = 10; /* This is the maximum myBannerNumber can get */
var myBannerNumber = Math.floor(Math.random()*N);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文